Commit Graph

152 Commits

Author SHA1 Message Date
yury
adae4e9976 * implemented fpc_WideStr_Currency, fpc_chararray_Currency, fpc_Val_Currency_WideStr.
git-svn-id: trunk@5861 -
2007-01-09 00:06:28 +00:00
florian
f37ed0cf25 * improved r5564
git-svn-id: trunk@5573 -
2006-12-11 21:44:01 +00:00
florian
a5c5c0956d * edited fix from Rimgaudas Laucius to fix #7868
git-svn-id: trunk@5564 -
2006-12-10 22:49:18 +00:00
marco
f68280e91c * Patch from 7048
git-svn-id: trunk@5535 -
2006-12-03 19:12:11 +00:00
yury
84d5552deb * Added HAS_WIDESTRINGMANAGER define to turn off default wide string manager routines.
git-svn-id: trunk@5308 -
2006-11-10 14:47:28 +00:00
yury
c00d0debf0 * fixed some notes/warnings.
git-svn-id: trunk@5306 -
2006-11-10 12:36:45 +00:00
florian
81a4547901 * fixed assignment of empty strings for windows
git-svn-id: trunk@5071 -
2006-10-29 20:22:51 +00:00
peter
2f0ce31751 * string concat changed from function to procedure to
allow runtime optimization if the destination is the
    same as a source parameter
  * tassignmentnode now sets aktassignmentnode global that can be used
    to use the left node as a destination parameter and
    skip the assignment
  * disabled all cpu specific shortstr concat/append

git-svn-id: trunk@4770 -
2006-10-02 20:00:06 +00:00
florian
9d14c87da7 * fpc_assign_widestr after a hint of Martin Schreiber fixed, see #7272
git-svn-id: trunk@4502 -
2006-08-24 20:16:39 +00:00
yury
5a49addb35 * fixed more warnings and notes while compiling RTL.
git-svn-id: trunk@4259 -
2006-07-19 19:10:02 +00:00
yury
11576fd24b * fixed warnings and notes while compiling system unit for wince.
git-svn-id: trunk@4250 -
2006-07-18 15:00:09 +00:00
florian
096fb2dcb8 * really copy widestrings in widestr_assign when winlike wistrings are used
git-svn-id: trunk@4151 -
2006-07-12 17:53:58 +00:00
peter
16411cda22 * fix win32
git-svn-id: trunk@3851 -
2006-06-12 17:59:38 +00:00
peter
fc2f86b210 * small cleanup fixes
* fix uninitialized initial refcount in newwidestring

git-svn-id: trunk@3850 -
2006-06-12 17:35:16 +00:00
peter
eb8db1e460 * fix internal alias parameters for incr_ref
git-svn-id: trunk@3844 -
2006-06-11 10:51:27 +00:00
marco
96ad9ad3cf * firstoff->widefirstoff typo correction
git-svn-id: trunk@3629 -
2006-05-22 14:26:40 +00:00
florian
6996081cd2 * another windows widestring fix
git-svn-id: trunk@3478 -
2006-05-11 11:03:21 +00:00
florian
631e84dcb4 * fixed hopyfully setlength on windows needs still be optimized using SysReallocStringLen
git-svn-id: trunk@3477 -
2006-05-11 08:57:19 +00:00
florian
570c1bc3a5 * widestrings aren't ref. counted anymore on windows
git-svn-id: trunk@3466 -
2006-05-09 20:54:26 +00:00
peter
9cd5a800af * check for nil in concat_multi
git-svn-id: trunk@2658 -
2006-02-20 17:15:05 +00:00
peter
a77f503a30 * optimize multiple concats for ansi/widestring
git-svn-id: trunk@2650 -
2006-02-20 10:58:28 +00:00
Jonas Maebe
58381ff7b6 * made chararray handling 98% TP-compatible, fixes web bugs 3012
and 4080. The compatibility differences are:
      a) writing a chararray which is zero-based but not zero-
         terminated does not cause a buffer overflow
      b) non-zero-based chararrays can also be read

    The difference was that previously, all chararrays were treated
    as pchars. In TP/Delphi (and now also in FPC), this is only done
    for zero-based chararrays. For non-zero-based ones, the entire
    contents of the array should always be used (including #0's).

    The default parameters in the system unit for the chararray
    helpers are to avoid having to use a define for bootstrapping.

git-svn-id: trunk@2152 -
2006-01-04 10:05:10 +00:00
Jonas Maebe
b08eccdbf0 - reverted ansi2wide and wide2ansi changes, because they affect
third party sources too much

git-svn-id: trunk@2046 -
2005-12-24 01:40:23 +00:00
Jonas Maebe
9a08cdccf0 * several changes of var parameters into out parameters to avoid
useless warnings: code parameter of val(), destination of str(),
    destinations of ansi2wide and wide2ansi

git-svn-id: trunk@2041 -
2005-12-23 22:25:26 +00:00
Jonas Maebe
2dea0c793f * made the target parameter of SetString an "out" instead of "var" parameter
git-svn-id: trunk@1896 -
2005-12-07 16:06:34 +00:00
peter
ea6dadb7be * make widestrings compatible with COM BSTR, the length is now the number
of bytes allocated instead of the number of widechars

git-svn-id: trunk@1467 -
2005-10-18 09:45:13 +00:00
peter
cc38ec676e * add winwidestringalloc boolean, set it to false to use the fpc
heapmanager to allocate widestrings

git-svn-id: trunk@1306 -
2005-10-06 06:28:05 +00:00
florian
3a5895be0f * StringToWideChar fixed
git-svn-id: trunk@1236 -
2005-09-30 08:30:44 +00:00
florian
78f4cb86b0 * more widestring overloads for pos to avoid problems with selection of the correct one
git-svn-id: trunk@1177 -
2005-09-24 16:42:35 +00:00
florian
bb26084a0f + UCS4StringToWideString
+ WideStringToUCS4String
+ locale sensitive comparing of widestrings on unix

git-svn-id: trunk@1142 -
2005-09-19 19:13:03 +00:00
michael
fee6627a8a + Fixed typo, patch by Colin Western
git-svn-id: trunk@507 -
2005-06-26 14:53:09 +00:00
florian
ed95c19399 * reallocation of widestrings on windows fixed
* warnings in sstrings.inc fixed

git-svn-id: trunk@500 -
2005-06-26 08:17:21 +00:00
florian
07442c5693 * fixed passing of variant parameters for windows api
* widestrings need to be allocated by a special OS call on windows

git-svn-id: trunk@458 -
2005-06-20 19:56:36 +00:00
michael
5cafc069b5 + Removed NOSAVEREGISTERS define
git-svn-id: trunk@307 -
2005-06-09 17:58:20 +00:00
michael
06ab2d2ee6 + Removed STR_USES_VALINT define
git-svn-id: trunk@305 -
2005-06-09 17:53:01 +00:00
michael
f7edd5a256 + Removed DECRREFNOTNIL define
git-svn-id: trunk@300 -
2005-06-09 17:48:33 +00:00
michael
93ba0409be + Removed HASCOMPILERPROC define
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
db5d9d75aa + Removed INTERNCOPY define
git-svn-id: trunk@259 -
2005-06-07 21:11:49 +00:00
michael
a20556e62d + Removed INTERNLENGTH/INTERNSETLENGTH defines
git-svn-id: trunk@257 -
2005-06-07 21:07:21 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
michael
7df51de3d6 + Fix for Utf8ToUnicode from Lazarus bug tracker 888 2005-05-04 10:34:48 +00:00
florian
375d7711b8 * widestr->shortstr fixed
* wstrings to system unit dependencies added
2005-04-03 08:46:02 +00:00
florian
e2c26378b3 * shortstr_to_widestring fixed 2005-03-22 10:10:54 +00:00
florian
128152f7cf * utf8 to unicode (utf-16) fix from Matthias 2005-03-14 21:32:04 +00:00
florian
9445db95f3 * widestring manager can handle now ansi<->wide string conversions even if the lens don't match 2005-03-14 21:09:04 +00:00
florian
7fa1ae2ea8 + WideSameStr 2005-02-26 15:00:14 +00:00
florian
eb4b962cee + implemented WideFormat
+ some Widestring stuff implemented
  * some Widestring stuff fixed
2005-02-26 10:21:17 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
3ed23de88e + StrCharLength infrastructure 2005-02-06 09:38:45 +00:00
florian
8f571abbb9 + infrastructure for WideCompareText implemented 2005-02-03 18:40:50 +00:00
florian
4f7560d89e * improved widestring infrastructure manager 2005-02-01 20:22:49 +00:00
florian
87771a2ae3 * widecharray patch from Peter 2005-01-06 13:31:06 +00:00
peter
14eb8f59b4 internconst, internproc and some external declarations moved to interface 2004-11-17 22:19:04 +00:00
peter
fd759e521f * saveregisters calling convention is obsolete 2004-10-24 20:01:41 +00:00
mazen
b65cffcdef * widestring conversion routines takes a widechar so no
information is lost
2004-09-29 14:55:49 +00:00
Jonas Maebe
3f10b1b4f6 - removed unused local variable
* fixed bug in Utf8ToUnicode (use of uninitialised variable)
2004-09-18 10:23:08 +00:00
florian
7a7c34e1b7 + several unicode (to/from utf-8 conversion) stuff added
* some longint -> SizeInt changes
2004-07-18 20:21:44 +00:00
peter
b3e3030e6f * remove maxlen field from ansistring/widestrings 2004-07-12 17:58:19 +00:00
peter
59691cc142 * decr ref doesn't reset pointer
* finalize resets pointer for astring,wstring
2004-07-02 21:21:09 +00:00
peter
962ef697d5 * remove comment warnings 2004-05-31 14:31:57 +00:00
florian
dea441a7dd * the decr functions set the data now to nil 2004-05-29 15:39:08 +00:00
peter
81b6d9f16c * replace strlenint with sizeint 2004-05-01 23:55:18 +00:00
peter
cafed35e77 * str() helpers now also use valint/valuint
* int64/qword helpers disabled for cpu64
2004-04-29 18:59:43 +00:00
peter
6dc4cd8b82 * finalize needs to reset to nil after decr_ref 2004-01-22 22:09:05 +00:00
michael
2f103d8153 + Added overloaded version of SetWideStringManager without old parameter 2003-11-29 17:27:05 +00:00
michael
51c296f60c + Added WideStringManager 2003-11-28 20:36:13 +00:00
florian
68e4d5c88a * made Index* usage consistent with astrings.inc 2003-11-05 15:33:51 +00:00
Jonas Maebe
4be7651aa2 * fixed conversion of fpc_*str_unique to compilerproc 2003-06-17 19:24:08 +00:00
Jonas Maebe
394b70f94d * fpc_{ansistr|widestr}_unique is now a function so it can be used as
compilerproc
2003-06-17 16:38:53 +00:00
florian
eab5d1f7c5 * started to make the rtl 64 bit save by introducing SizeInt and SizeUInt (similar to size_t of C) 2003-05-01 08:05:23 +00:00
peter
d0776e3492 * implemented some more conversions 2002-12-29 16:59:17 +00:00
peter
438fbdedee * SetString(WideString,[PChar|PWideChar],Len) added 2002-12-15 22:33:12 +00:00
sg
a384390a05 * Ported improvements from the AnsiString equivalents to NewWideString and
fpc_WideStr_SetLength
2002-12-14 19:16:45 +00:00
carl
781415a0da - avoid warnings (add typecast) 2002-12-07 14:34:30 +00:00
florian
c6ea429567 + several widestring/pwidechar related helpers added 2002-10-10 16:08:50 +00:00
peter
603b3bc48b * Copy() changed to internal function calling compilerprocs
* FPC_SHORTSTR_COPY renamed to FPC_SHORTSTR_ASSIGN because of the
    new copy functions
2002-10-02 18:21:51 +00:00
florian
0e22fc491b + some WideString<->AnsiString conversion functions added 2002-09-26 21:50:37 +00:00
carl
e1167f8d09 * Delphi compatibility fix (with string routines) 2002-09-14 11:20:50 +00:00
carl
7cbb2eb379 * cardinal -> longword 2002-09-07 21:16:45 +00:00
peter
01dfac4a4e * old logs removed and tabs fixed 2002-09-07 15:06:34 +00:00
florian
53a0b662b9 * several fixes to get further with linux/ppc system unit compilation 2002-07-29 21:28:16 +00:00
peter
268e4bb7e7 * use saveregisters for incr routines, saves also problems with
the optimizer
2002-04-26 15:19:04 +00:00
peter
0cdf327866 * updated compilerprocs
* incr ref count has now a value argument instead of var
2002-04-25 20:14:56 +00:00
Jonas Maebe
41a57028b9 * converted adding/comparing of strings to compileproc. Note that due
to the way the shortstring helpers for i386 are written, they are
    still handled by the old code (reason: fpc_shortstr_compare returns
    results in the flags instead of in eax and fpc_shortstr_concat
    has wierd parameter conventions). The compilerproc stuff should work
    fine with the generic implementations though.
  * removed some nested comments warnings
2001-08-30 15:43:14 +00:00
Jonas Maebe
06f9cd4c96 * some fixes in compilerprocs for chararray to string conversions
* conversion from string to chararray is now also done via compilerprocs
2001-08-29 19:49:03 +00:00
Jonas Maebe
fc92c3b336 + compilerproc implementation of most string-related type conversions
- removed all code from the compiler which has been replaced by
    compilerproc implementations (using {$ifdef hascompilerproc} is not
    necessary in the compiler)
2001-08-28 13:24:46 +00:00
Jonas Maebe
4716f168dd * renamed some str(x,y) and val(x,y) helpers so the naming scheme is the
same for all string types
  + added the str(x,y) and val(x,y,z) helpers for int64/qword to
    compproc.inc
2001-08-13 12:40:16 +00:00
Jonas Maebe
b9f6efc85b + "compproc" helpers
* renamed several helpers so that their name is the same as their
    "public alias", which should facilitate the conversion of processor
    specific code in the code generator to processor independent code
  * some small fixes to the val_ansistring and val_widestring helpers
    (always immediately exit if the source string is longer than 255
     chars)
  * fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
    still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00
Jonas Maebe
eb586d5025 * fixed wrong public alieases for val(widestring,...) 2001-07-16 12:33:08 +00:00
peter
db87f86f00 * Length made internal
* Add array support for Length
2001-07-09 21:15:40 +00:00
peter
ca8d604964 * various widestring updates, it works now mostly without charset
mapping supported
2001-07-08 21:00:14 +00:00
florian
4870698a11 + some procedures added 2001-05-27 14:28:03 +00:00
peter
676d01dff6 * removed some warnings 2000-11-06 23:17:15 +00:00
peter
94c1f86d79 * changed ver1_0 defines to temporary defs 2000-11-06 20:34:24 +00:00
florian
1a2851eb47 * a lot of small changes:
- setlength is internal
     - win32 graph unit extended
     ....
2000-10-21 18:20:17 +00:00
sg
65e50beb55 * Implemented WideString helper functions (but they are not tested yet
due to the lack of full compiler support for WideString/WideChar!)
2000-08-08 22:12:36 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00