* added csize_t = UnixTypes.size_t in ctypes.pp for unix systems.
* reason: size_t is a C type and it's often used by C header files. Several packages define their own size_t.
git-svn-id: trunk@12602 -
* switch to external assembler when using dwarf debug info for win32,
because the internal assembler doesn't work with
tf_dwarf_relative_addresses
(mantis #12872)
git-svn-id: trunk@12592 -
a conversion to a shortstring type (so an operator := that returns a
string[255] can be used to assign this type to a string[80]) (mantis
#12109)
* do not allow overloading := with a string[x<>255] as result type,
because we want one such overload to satisfy all conversions (see
previous point)
git-svn-id: trunk@12590 -
* Changed the design of input decoders so they process data by chunks
instead of char-by-char. It is much faster, and allows supporting
external pluggable decoders.
+ Interface for external decoders.
* ResolvePredefined() is rewritten so it doesn't call CompareMem five
times do determine a single char.
* ParseCharRef renamed to ParseRef, because it parses entity refs as
well.
* Added guard conditions to prevent integer overflows in ParseRef.
* ContextPush(TXMLCharSource) merged into Initialize().
xmliconv.pas is a new unit, containing an libiconv-based decoder. It depends on existing iconvenc package, and
thus supports all platforms that are supported by iconvenc.
xmliconv_windows.pas is the variation that allows to use libiconv functionality on Windows (It would require
the iconv.dll to be distributed with the application, but since I haven't succeeded yet in writing a native
Windows decoder, this is better than nothing).
git-svn-id: trunk@12582 -
convert it into a widechar at compile time using the current source file's
code page (and in case it was to a non-widestring, then convert it at run
time into the current run time ansi code page) (mantis #12993)
Previously, the characters were either stuffed into the string without
conversion (widestring), or passed to the run time "ansi-character to
stringtype" routine (other string types; which was also wrong, since
that routine expects the character to be in ansi-encoding, which is
not necessarily the same as whatever the source file encoding was)
git-svn-id: trunk@12580 -
* First attempt to implement a sort of generic "gate" for adding different file access methods
* Optimized heap and stack handling
git-svn-id: trunk@12562 -