From 9d7ac02696faa6a47d2ff51a306530b4c25595c6 Mon Sep 17 00:00:00 2001 From: tom_at_work Date: Wed, 16 Nov 2005 20:50:38 +0000 Subject: [PATCH] * fixed tb0488 on unix platforms (missing cwstring uses) * 64bit big-endian fix of dynamic array handling * added qword support for %x format specifier of format() functions git-svn-id: trunk@1773 - --- rtl/inc/dynarr.inc | 2 +- rtl/objpas/sysutils/sysformt.inc | 6 ++++++ tests/tbs/tb0488.pp | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rtl/inc/dynarr.inc b/rtl/inc/dynarr.inc index 5e02c4f831..ebaf24f44f 100644 --- a/rtl/inc/dynarr.inc +++ b/rtl/inc/dynarr.inc @@ -20,7 +20,7 @@ type { to calculate memory requirements } pdynarray = ^tdynarray; tdynarray = packed record - refcount : longint; + refcount : ptrint; high : tdynarrayindex; end; diff --git a/rtl/objpas/sysutils/sysformt.inc b/rtl/objpas/sysutils/sysformt.inc index 92c1ac365f..f290eabb29 100644 --- a/rtl/objpas/sysutils/sysformt.inc +++ b/rtl/objpas/sysutils/sysformt.inc @@ -300,6 +300,12 @@ begin vq:=Cardinal(Args[Doarg].VInteger); index:=16; end + else + if CheckArg(vtQWord, false) then + begin + vq:=Qword(Args[DoArg].VQWord^); + index:=31; + end else begin CheckArg(vtInt64,true); diff --git a/tests/tbs/tb0488.pp b/tests/tbs/tb0488.pp index 15d28b6d6f..2ac3f1eaf1 100644 --- a/tests/tbs/tb0488.pp +++ b/tests/tbs/tb0488.pp @@ -27,7 +27,7 @@ 999999999 } -uses SysUtils,erroru; +uses {$ifdef unix}cwstring, {$endif}SysUtils,erroru; procedure Check(a,b:ansistring); begin