From 0c8df133dde6635d3261c317e8e5d144eae752b2 Mon Sep 17 00:00:00 2001 From: bart <9132501-flyingsheep@users.noreply.gitlab.com> Date: Tue, 24 Nov 2015 16:23:18 +0000 Subject: [PATCH] LazUtils: - An attempt to unify the defines for the different scenario's in the use of (not) codepage aware ansistrings and the use of the "Utf8 in RTL" feature. It makes for better separation of code and thus better readability and ease of maintainance (and in a later stadium it makes it easier to remove code that deals with non codepage aware ansistrings (fpc < 3.0)). - Also replace (FPC_FULLVERSION >= xxxx) with FPC_HAS_CPSTRING where appropriate. - Replace the custom HasCP define with built in FPC_HAS_CPSTRING define. git-svn-id: trunk@50498 - --- .../lazutils/asiancodepagefunctions.inc | 2 +- components/lazutils/fpcadds.pas | 4 +- components/lazutils/lazfileutils.pas | 2 +- components/lazutils/lazutf8.pas | 19 ++--- components/lazutils/lazutils.lpk | 6 +- components/lazutils/lconvencoding.pas | 82 ++++++++++--------- components/lazutils/paswstring.pas | 7 +- components/lazutils/winlazfileutils.inc | 7 +- components/lazutils/winlazutf8.inc | 18 ++-- 9 files changed, 77 insertions(+), 70 deletions(-) diff --git a/components/lazutils/asiancodepagefunctions.inc b/components/lazutils/asiancodepagefunctions.inc index 03a2f84518..878f07fcbe 100644 --- a/components/lazutils/asiancodepagefunctions.inc +++ b/components/lazutils/asiancodepagefunctions.inc @@ -130,7 +130,7 @@ begin end; {$endif} -{$ifdef HASCP} +{$ifdef FPC_HAS_CPSTRING} procedure InternalUTF8ToDBCS(const s: string; TargetCodePage: TSystemCodePage; SetTargetCodePage: boolean; {$IfNDef UseSystemCPConv}const UTF8CharConvFunc: TUnicodeToCharID;{$endif} diff --git a/components/lazutils/fpcadds.pas b/components/lazutils/fpcadds.pas index cb63f8cfb5..330def8b15 100644 --- a/components/lazutils/fpcadds.pas +++ b/components/lazutils/fpcadds.pas @@ -16,6 +16,8 @@ unit FPCAdds; {$mode objfpc}{$H+}{$inline on} +{$i lazutils_defines.inc} + interface uses @@ -64,7 +66,7 @@ begin {$ENDIF} end; -{$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL)} +{$ifdef UTF8_RTL} initialization SetMultiByteConversionCodePage(CP_UTF8); // SetMultiByteFileSystemCodePage(CP_UTF8); not needed, this is the default under Windows diff --git a/components/lazutils/lazfileutils.pas b/components/lazutils/lazfileutils.pas index ac3b00df4e..7cb582248c 100644 --- a/components/lazutils/lazfileutils.pas +++ b/components/lazutils/lazfileutils.pas @@ -4,7 +4,7 @@ unit LazFileUtils; {$mode objfpc}{$H+} - +{$i lazutils_defines.inc} interface uses diff --git a/components/lazutils/lazutf8.pas b/components/lazutils/lazutf8.pas index b63b510193..9355e0957b 100644 --- a/components/lazutils/lazutf8.pas +++ b/components/lazutils/lazutf8.pas @@ -18,13 +18,12 @@ unit LazUTF8; {$mode objfpc}{$H+}{$inline on} -{$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL)} - {$DEFINE ReallyUseUTF8RTL} -{$IFEND} +{$i lazutils_defines.inc} + interface uses - {$IFDEF ReallyUseUTF8RTL} + {$IFDEF UTF8_RTL} {$ifdef unix} cwstring, // UTF8 RTL on Unix requires this. Must be used although it pulls in clib. {$endif} @@ -42,8 +41,8 @@ function NeedRTLAnsi: boolean;// true if system encoding is not UTF-8 procedure SetNeedRTLAnsi(NewValue: boolean); // UTF8ToSys works like UTF8ToAnsi but more independent of widestringmanager -function UTF8ToSys(const s: string): string; overload; {$IFDEF ReallyUseUTF8RTL}inline;{$ENDIF} -function UTF8ToSys(const AFormatSettings: TFormatSettings): TFormatSettings; overload; {$IFDEF ReallyUseUTF8RTL}inline;{$ENDIF} +function UTF8ToSys(const s: string): string; overload; {$IFDEF UTF8_RTL}inline;{$ENDIF} +function UTF8ToSys(const AFormatSettings: TFormatSettings): TFormatSettings; overload; {$IFDEF UTF8_RTL}inline;{$ENDIF} // SysToUTF8 works like AnsiToUTF8 but more independent of widestringmanager function SysToUTF8(const s: string): string; overload; @@ -251,7 +250,7 @@ end; function UTF8ToSys(const s: string): string; begin - {$IFDEF ReallyUseUTF8RTL} + {$IFDEF UTF8_RTL} Result:=s; {$ELSE} if NeedRTLAnsi and (not IsASCII(s)) then @@ -263,7 +262,7 @@ end; function SysToUTF8(const s: string): string; begin - {$IFDEF ReallyUseUTF8RTL} + {$IFDEF UTF8_RTL} Result:=s; {$ELSE} if NeedRTLAnsi and (not IsASCII(s)) then @@ -297,13 +296,13 @@ begin end; function UTF8ToSys(const AFormatSettings: TFormatSettings): TFormatSettings; -{$IFnDEF ReallyUseUTF8RTL} +{$IFnDEF UTF8_RTL} var i: Integer; {$ENDIF} begin Result := AFormatSettings; - {$IFnDEF ReallyUseUTF8RTL} + {$IFnDEF UTF8_RTL} Result.CurrencyString := UTF8ToSys(AFormatSettings.CurrencyString); for i:=1 to 12 do begin Result.LongMonthNames[i] := UTF8ToSys(AFormatSettings.LongMonthNames[i]); diff --git a/components/lazutils/lazutils.lpk b/components/lazutils/lazutils.lpk index 06a9a3b155..f3425c55a2 100644 --- a/components/lazutils/lazutils.lpk +++ b/components/lazutils/lazutils.lpk @@ -16,7 +16,7 @@ - + @@ -338,6 +338,10 @@ + + + + diff --git a/components/lazutils/lconvencoding.pas b/components/lazutils/lconvencoding.pas index 0935a02743..1cd275710e 100644 --- a/components/lazutils/lconvencoding.pas +++ b/components/lazutils/lconvencoding.pas @@ -13,17 +13,18 @@ unit LConvEncoding; {$mode objfpc}{$H+} +{$i lazutils_defines.inc} + interface { $Define DisableAsianCodePages} -{$if FPC_FULLVERSION >= 30000} - {$Define HasCP} // AnsiString has codepage - {$IFnDEF DisableUTF8RTL} +//{$if FPC_FULLVERSION >= 30000} + {$IFDEF UTF8_RTL} // Windows provides conversion functions. // Unix: unit cwstring provides conversion functions which are used by default UTF-8 encoding system. {$Define UseSystemCPConv} // use system conversions {$ENDIF} -{$IFEND} +//{$IFEND} {$ifdef UseLCPConv}{$undef UseSystemCPConv}{$endif} uses @@ -77,11 +78,11 @@ const function GuessEncoding(const s: string): string; function ConvertEncodingFromUTF8(const s, ToEncoding: string; out Encoded: boolean - {$ifdef HasCP}; SetTargetCodePage: boolean = false{$endif}): string; + {$ifdef FPC_HAS_CPSTRING}; SetTargetCodePage: boolean = false{$endif}): string; function ConvertEncodingToUTF8(const s, FromEncoding: string; out Encoded: boolean): string; // For UTF8 use the above functions, they save you one parameter function ConvertEncoding(const s, FromEncoding, ToEncoding: string - {$ifdef HasCP}; SetTargetCodePage: boolean = false{$endif}): string; + {$ifdef FPC_HAS_CPSTRING}; SetTargetCodePage: boolean = false{$endif}): string; // This routine should obtain the encoding utilized by ansistring in the RTL function GetDefaultTextEncoding: string; @@ -93,7 +94,7 @@ function NormalizeEncoding(const Encoding: string): string; type TConvertEncodingFunction = function(const s: string): string; - {$ifdef HasCP} + {$ifdef FPC_HAS_CPSTRING} TConvertUTF8ToEncodingFunc = function(const s: string; SetTargetCodePage: boolean = false): RawByteString; {$else} TConvertUTF8ToEncodingFunc = function(const s: string): string; @@ -129,7 +130,7 @@ function UCS2LEToUTF8(const s: string): string; // UCS2-LE 2byte little endian function UCS2BEToUTF8(const s: string): string; // UCS2-BE 2byte big endian function UTF8ToUTF8BOM(const s: string): string; // UTF8 with BOM -{$ifdef HasCP} +{$ifdef FPC_HAS_CPSTRING} function UTF8ToISO_8859_1(const s: string; SetTargetCodePage: boolean = false): RawByteString; // central europe function UTF8ToISO_8859_2(const s: string; SetTargetCodePage: boolean = false): RawByteString; // eastern europe function UTF8ToISO_8859_15(const s: string; SetTargetCodePage: boolean = false): RawByteString; // Western European languages @@ -189,7 +190,7 @@ function CP950ToUTF8(const s: string): string; // Chinese Complex function DBCSToUTF8(const s: string; CodeP: integer): string; -{$ifdef HasCP} +{$ifdef FPC_HAS_CPSTRING} function UTF8ToCP932(const s: string; SetTargetCodePage: boolean = false): RawByteString; // Japanese function UTF8ToCP936(const s: string; SetTargetCodePage: boolean = false): RawByteString; // Chinese, essentially the same as GB 2312 and a predecessor to GB 18030 function UTF8ToCP949(const s: string; SetTargetCodePage: boolean = false): RawByteString; // Korea @@ -6761,7 +6762,8 @@ begin end; end; -{$if FPC_FULLVERSION >= 20701} +//{$if FPC_FULLVERSION >= 20701} +{$IFDEF FPC_HAS_CPSTRING} procedure InternalUTF8ToCP(const s: string; TargetCodePage: TSystemCodePage; SetTargetCodePage: boolean; const UTF8CharConvFunc: TUnicodeToCharID; @@ -7288,11 +7290,11 @@ end; function ConvertEncodingFromUTF8(const s, ToEncoding: string; out Encoded: boolean - {$ifdef HasCP}; SetTargetCodePage: boolean = false{$endif}): string; + {$ifdef FPC_HAS_CPSTRING}; SetTargetCodePage: boolean = false{$endif}): string; var ATo: string; - {$ifdef HasCP} + {$ifdef FPC_HAS_CPSTRING} procedure CheckKeepCP; inline; begin if SetTargetCodePage then @@ -7306,33 +7308,33 @@ begin ATo:=NormalizeEncoding(ToEncoding); if ATo=EncodingUTF8BOM then begin Result:=UTF8ToUTF8BOM(s); exit; end; - if ATo=EncodingCPIso1 then begin Result:=UTF8ToISO_8859_1(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCPIso15 then begin Result:=UTF8ToISO_8859_15(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCPIso2 then begin Result:=UTF8ToISO_8859_2(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1250 then begin Result:=UTF8ToCP1250(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1251 then begin Result:=UTF8ToCP1251(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1252 then begin Result:=UTF8ToCP1252(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1253 then begin Result:=UTF8ToCP1253(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1254 then begin Result:=UTF8ToCP1254(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1255 then begin Result:=UTF8ToCP1255(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1256 then begin Result:=UTF8ToCP1256(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1257 then begin Result:=UTF8ToCP1257(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP1258 then begin Result:=UTF8ToCP1258(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP437 then begin Result:=UTF8ToCP437(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP850 then begin Result:=UTF8ToCP850(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP852 then begin Result:=UTF8ToCP852(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP866 then begin Result:=UTF8ToCP866(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP874 then begin Result:=UTF8ToCP874(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCPIso1 then begin Result:=UTF8ToISO_8859_1(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCPIso15 then begin Result:=UTF8ToISO_8859_15(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCPIso2 then begin Result:=UTF8ToISO_8859_2(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1250 then begin Result:=UTF8ToCP1250(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1251 then begin Result:=UTF8ToCP1251(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1252 then begin Result:=UTF8ToCP1252(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1253 then begin Result:=UTF8ToCP1253(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1254 then begin Result:=UTF8ToCP1254(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1255 then begin Result:=UTF8ToCP1255(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1256 then begin Result:=UTF8ToCP1256(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1257 then begin Result:=UTF8ToCP1257(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP1258 then begin Result:=UTF8ToCP1258(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP437 then begin Result:=UTF8ToCP437(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP850 then begin Result:=UTF8ToCP850(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP852 then begin Result:=UTF8ToCP852(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP866 then begin Result:=UTF8ToCP866(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP874 then begin Result:=UTF8ToCP874(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; {$IFnDEF DisableAsianCodePages} - if ATo=EncodingCP936 then begin Result:=UTF8ToCP936(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP950 then begin Result:=UTF8ToCP950(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP949 then begin Result:=UTF8ToCP949(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCP932 then begin Result:=UTF8ToCP932(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP936 then begin Result:=UTF8ToCP936(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP950 then begin Result:=UTF8ToCP950(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP949 then begin Result:=UTF8ToCP949(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCP932 then begin Result:=UTF8ToCP932(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; {$ENDIF} - if ATo=EncodingCPKOI8 then begin Result:=UTF8ToKOI8(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingCPMac then begin Result:=UTF8ToMacintosh(s{$ifdef HasCP},SetTargetCodePage{$endif}); exit; end; - if ATo=EncodingUCS2LE then begin {$ifdef HasCP}CheckKeepCP;{$endif} Result:=UTF8ToUCS2LE(s); exit; end; - if ATo=EncodingUCS2BE then begin {$ifdef HasCP}CheckKeepCP;{$endif} Result:=UTF8ToUCS2BE(s); exit; end; + if ATo=EncodingCPKOI8 then begin Result:=UTF8ToKOI8(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingCPMac then begin Result:=UTF8ToMacintosh(s{$ifdef FPC_HAS_CPSTRING},SetTargetCodePage{$endif}); exit; end; + if ATo=EncodingUCS2LE then begin {$ifdef FPC_HAS_CPSTRING}CheckKeepCP;{$endif} Result:=UTF8ToUCS2LE(s); exit; end; + if ATo=EncodingUCS2BE then begin {$ifdef FPC_HAS_CPSTRING}CheckKeepCP;{$endif} Result:=UTF8ToUCS2BE(s); exit; end; if (ATo=GetDefaultTextEncoding) and Assigned(ConvertUTF8ToAnsi) then begin Result:=ConvertUTF8ToAnsi(s); @@ -7388,7 +7390,7 @@ begin end; function ConvertEncoding(const s, FromEncoding, ToEncoding: string - {$ifdef HasCP}; SetTargetCodePage: boolean{$endif}): string; + {$ifdef FPC_HAS_CPSTRING}; SetTargetCodePage: boolean{$endif}): string; var AFrom, ATo, SysEnc : String; Encoded : Boolean; @@ -7416,7 +7418,7 @@ begin //DebugLn(['ConvertEncoding ',AFrom,' ',ATo]); if AFrom=EncodingUTF8 then begin - Result:=ConvertEncodingFromUTF8(s, ATo, Encoded{$ifdef HasCP}, SetTargetCodePage{$endif}); + Result:=ConvertEncodingFromUTF8(s, ATo, Encoded{$ifdef FPC_HAS_CPSTRING}, SetTargetCodePage{$endif}); if Encoded then exit; end else @@ -7428,7 +7430,7 @@ begin begin Result:=ConvertEncodingToUTF8(s, AFrom, Encoded); if Encoded then - Result:=ConvertEncodingFromUTF8(Result, ATo, Encoded{$ifdef HasCP}, SetTargetCodePage{$endif}); + Result:=ConvertEncodingFromUTF8(Result, ATo, Encoded{$ifdef FPC_HAS_CPSTRING}, SetTargetCodePage{$endif}); if Encoded then exit; end; diff --git a/components/lazutils/paswstring.pas b/components/lazutils/paswstring.pas index cb6d52ef05..1686f675bb 100644 --- a/components/lazutils/paswstring.pas +++ b/components/lazutils/paswstring.pas @@ -16,13 +16,16 @@ unit PasWString; {$mode objfpc} {$inline on} +{$i lazutils_defines.inc} + //{$define PASWSTRING_VERBOSE} //{.$define PASWSTRING_SUPPORT_NONUTF8_ANSISTRING} disabled by default because // non utf-8 ansistring is rare in UNIXes and lconvencoding makes the executable big // sanity checks for defines -{$IF FPC_FULLVERSION >= 30000} - {$IFnDEF DisableUTF8RTL} +//{$IF FPC_FULLVERSION >= 30000} +{$IFnDEF NO_CP_RTL} + {$IFDEF UTF8_RTL} {$IFDEF PASWSTRING_SUPPORT_NONUTF8_ANSISTRING} {$error UTF8 or not UTF8} {$ENDIF} diff --git a/components/lazutils/winlazfileutils.inc b/components/lazutils/winlazfileutils.inc index feb8324517..b695a9ebb9 100644 --- a/components/lazutils/winlazfileutils.inc +++ b/components/lazutils/winlazfileutils.inc @@ -542,12 +542,9 @@ end; {$IF DEFINED(WinCE) OR (FPC_FULLVERSION>=30000)} {$define FindData_W} {$IFEND} -{$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL)} - {$DEFINE ReallyUseUTF8RTL} -{$IFEND} function FindMatch(var f: TSearchRec) : Longint; -{$IFnDEF ReallyUseUTF8RTL} +{$IFDEF ACP_RTL} var Dummy: String; {$ENDIF} @@ -569,7 +566,7 @@ begin in win32 it is the ansi structure with a utf-8 string in wince it is a wide structure } {$ifdef FindData_W} - {$IFDEF ReallyUseUTF8RTL} + {$IFnDEF ACP_RTL} f.Name:=UTF8Encode(UnicodeString(F.FindData.cFileName)); {$ELSE} Dummy := ''; diff --git a/components/lazutils/winlazutf8.inc b/components/lazutils/winlazutf8.inc index 266cfc5fc6..9de8b5a16b 100644 --- a/components/lazutils/winlazutf8.inc +++ b/components/lazutils/winlazutf8.inc @@ -7,7 +7,7 @@ var var ArgsW: Array of WideString; ArgsWCount: Integer; // length(ArgsW)+1 - {$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL) AND NOT DEFINED(WINCE)} + {$IF DEFINED(UTF8_RTL) AND NOT DEFINED(WINCE)} ArgsUTF8: Array of String; // the ArgsW array as UTF8 OldArgV: PPChar = nil; {$IFEND} @@ -38,7 +38,7 @@ end; //*************** START WideString impementations -{$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL) AND NOT DEFINED(WINCE)} +{$IF DEFINED(UTF8_RTL) AND NOT DEFINED(WINCE)} procedure SetupArgvAsUtf8; var i: Integer; @@ -192,7 +192,7 @@ begin //Note: //On WinCe Argsv is a static function, so we cannot change it. //This might change in the future if Argsv on WinCE will be declared as a function variable - {$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL) AND NOT DEFINED(WINCE)} + {$IF DEFINED(UTF8_RTL) AND NOT DEFINED(WINCE)} if DefaultSystemCodePage=CP_UTF8 then SetupArgvAsUtf8; {$IFEND} @@ -327,7 +327,7 @@ begin end; {$endif} -{$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL)} +{$IFDEF UTF8_RTL} function GetLocaleStr(aLocaleID, aLCType: Longint; const Def: string): String; var L: Integer; @@ -493,7 +493,7 @@ begin end else Result:=0; end; -{$IFEND} +{$ENDIF} procedure InitLazUtf8; begin @@ -521,7 +521,7 @@ begin end; end; end; - {$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL)} + {$IFDEF UTF8_RTL} {$ifndef wince} GetFormatSettingsUTF8(GetThreadLocale,FormatSettings); {$else} @@ -542,12 +542,12 @@ begin end; procedure FinalizeLazUTF8; -{$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL)} +{$IFDEF UTF8_RTL} var p: PPChar; -{$IFEND} +{$ENDIF} begin - {$IF (FPC_FULLVERSION >= 30000) AND NOT DEFINED(DisableUTF8RTL) AND NOT DEFINED(WINCE)} + {$IF DEFINED(UTF8_RTL) AND NOT DEFINED(WINCE)} // restore argv and free memory if OldArgV<>nil then begin