* Many more RTL units are enabled now, like SysUtils, Classes, Math, FGL, etc and Text-, File- and ConsoleIO features are enabled now as well (Threading and Processes are enabled, too, but their implementations are only stubs!). ConsoleIO isn't tested though, because the processes that are started by SMSS have their Standard Handles set to 0.
git-svn-id: trunk@16553 -
* also fixes CharLengthPChar() for non-BeOS by initialising the mbstate
parameter passed to mbrlen() to 0 (otherwise its contents are interpreted
as already valid, containing information about the current shiftstate etc)
git-svn-id: trunk@16552 -
* Don't attempt to load shell32.dll, since every system with shell32.dll that exports SHGetFolderPath also has shfolder.dll present.
* Load shfolder.dll using a full path in order to prevent loading of malicious code by placing a same-named dll into program directory (Mantis #18185).
git-svn-id: trunk@16549 -
determine the length of a multi-byte character. The return values
are defined to be the same as those of POSIX' mblen: -1 =
invalid/incomplete sequence, 0 = #0, > 0 = length of sequence in
bytes.
+ default implementation for widestringmanager.codepointlengthproc
(assumes all code points have length 1) and Unix implementation
(based on mb(r)len); Windows implementation is still required
* replaced default implementation of
widestringmanager.CharLengthPCharProc with strlen() of the input
instead of an error (correct if all code points have length 1,
still needs Windows implementation)
+ implemented fpc_text_read_{wide,unicode}str() and
fpc_text_read_widechar() (mantis #18163); fpc_text_read_widechar()
uses the new widestringmanager.codepointlengthproc()
+ unicodestring support for readstr/writestr
* fixed declaration of fpc_Write_Text_UnicodeStr (unicodestring
instead of widestring parameter)
* extended test/twide*.pp tests to test the new/fixed functionality
git-svn-id: trunk@16533 -
* Handle Variant to ShortString conversions entirely in variants unit, removed VarUtils.VariantToShortString
+ support varUString in DoVarClearComplex
* fixed missing result assignment in TCustomVariantType.VarDataIsEmptyParam
* TCustomVariantType.UnaryOp and BinaryOp now 'implemented', they raise EVariantInvalidOp
git-svn-id: trunk@16529 -
committed cocoa unit conversions, and which can also be used to translate
the iOS SDK 3.2 headers
+ scripts (make-cocoa-headers.sh, make-ios-headers.sh) to (re)build the
Cocoa/iOS headers, along with skeleton directories that contain the
necessary helper files and a few required patches
+ frameworks.xml used by the conversion script
* updated build instructions
git-svn-id: trunk@16522 -
* generated with version 2.1.2 of the conversion script, with many
improvements (script and instructions to regenerate headers will
be committed separately)
o QuartzCore framework translation
o categories are no longer merged into classes, but separate
o corrected several C->Pascal type definitions
o handle pointer types for parameters, return types and property types
o handle struct/class fields that are arrays or pointers
o handle pointers to id
o handle external functions that return "void *" (they were parsed as
procedures)
o handle anonymous classes (@class NSAnonType, such as CIImage) using
the "NSAnonType = objcclass; external;" syntax
o corrected handling of opaque structs
o fixed parsing of function pointer types
o instance-bitfields that do not appear in a struct are now recognised
o bitpacked structs are now translated into bitpacked records (but only
if they only contain bitpacked fields)
o C macros indicating deprecation are now translated into "deprecated"
modifiers for methods/variables/functions/properties
o no longer ignore deprecated categories, because some categories are
deprecated in Mac OS X 10.5/10.6, and we want to support writing code
for older systems too
o several fixes to property and enum parsing
git-svn-id: trunk@16521 -
+ several missing categories and protocols (NSCodingProtocol,
NSCopyingProtocol, NSCoderMethods, ...)
* renamed classDescription method to _classDescription because there
is a method in another class in the Cocoa frameworks that also called
"classDescription"
+ added overloaded versions of all base methods without the trailing
underscore, since that seems what everyone has settled to using for
the rest of the Cocoa translations
git-svn-id: trunk@16518 -