mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 11:28:59 +02:00
77 lines
1.6 KiB
ObjectPascal
77 lines
1.6 KiB
ObjectPascal
{ Source provided for Free Pascal Bug Report 3478 }
|
|
{ Submitted by "Michalis Kamburelis" on 2004-12-26 }
|
|
{ e-mail: michalis@camelot.homedns.org }
|
|
{ Before fixing bug 3477 this prints
|
|
FFFFFFF
|
|
FFFFFFFFFFFFFFFF
|
|
0000000FFFFFFFFF
|
|
9999999
|
|
FFFFFFFF99999999
|
|
0000000999999999
|
|
|
|
After fixing 3477 with my patch this prints
|
|
FFFFFFF
|
|
FFFFFFFFFFFFFFFF
|
|
FFFFFFFFF
|
|
9999999
|
|
FFFFFFFF99999999
|
|
999999999
|
|
so part of the problems are gone, but not all.
|
|
|
|
Then, after fixing this bug with my simple patch it correctly prints
|
|
FFFFFFF
|
|
FFFFFFFF
|
|
FFFFFFFFF
|
|
9999999
|
|
99999999
|
|
999999999
|
|
}
|
|
|
|
{$R-}
|
|
{$Q-}
|
|
|
|
{$ifdef go32v2}
|
|
{$define USE_INTERNAL_UNICODE}
|
|
{$endif}
|
|
|
|
{$ifdef USE_INTERNAL_UNICODE}
|
|
{$define USE_FPWIDESTRING_UNIT}
|
|
{$define USE_UNICODEDUCET_UNIT}
|
|
{$define USE_CPALL_UNIT}
|
|
{$endif}
|
|
uses
|
|
{$ifndef USE_INTERNAL_UNICODE}
|
|
{$ifdef unix}
|
|
{$ifdef darwin}iosxwstr{$else}cwstring{$endif},
|
|
{$endif unix}
|
|
{$endif ndef USE_INTERNAL_UNICODE}
|
|
{$ifdef USE_UNICODEDUCET_UNIT}
|
|
unicodeducet,
|
|
{$endif}
|
|
{$ifdef USE_FPWIDESTRING_UNIT}
|
|
fpwidestring,
|
|
{$endif}
|
|
{$ifdef USE_CPALL_UNIT}
|
|
cpall,
|
|
{$endif}
|
|
SysUtils,erroru;
|
|
|
|
procedure Check(a,b:ansistring);
|
|
begin
|
|
if a<>b then
|
|
begin
|
|
writeln(a,' should be equal to ',b);
|
|
error;
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
check(WideFormat('%x', [$FFFFFFF]),'FFFFFFF');
|
|
check(WideFormat('%x', [$FFFFFFFF]),'FFFFFFFF');
|
|
check(WideFormat('%x', [$FFFFFFFFF]),'FFFFFFFFF');
|
|
|
|
check(WideFormat('%x', [$9999999]),'9999999');
|
|
check(WideFormat('%x', [$99999999]),'99999999');
|
|
check(WideFormat('%x', [$999999999]),'999999999');
|
|
end.
|