* provide possibility of reusing the routine from system WideStringManager for retrieval of current codepage on non-Windows and non-Unix

git-svn-id: trunk@29623 -
This commit is contained in:
Tomas Hajny 2015-02-04 01:39:54 +00:00
parent 329f788f58
commit 09e6069024

View File

@ -785,18 +785,26 @@ begin
DefaultUnicodeCodePage:=CP_UTF16; DefaultUnicodeCodePage:=CP_UTF16;
{$ifdef MSWINDOWS} {$ifdef MSWINDOWS}
DefaultSystemCodePage:=GetACP(); DefaultSystemCodePage:=GetACP();
{$endif MSWINDOWS} {$ELSE MSWINDOWS}
{$ifdef UNIX} {$ifdef UNIX}
DefaultSystemCodePage:=GetSystemCodepage; DefaultSystemCodePage:=GetSystemCodepage;
if (DefaultSystemCodePage = CP_NONE) then if (DefaultSystemCodePage = CP_NONE) then
DefaultSystemCodePage:=CP_UTF8; DefaultSystemCodePage:=CP_UTF8;
{$ifdef FPCRTL_FILESYSTEM_UTF8} {$ifdef FPCRTL_FILESYSTEM_UTF8}
DefaultFileSystemCodePage:=CP_UTF8; DefaultFileSystemCodePage:=CP_UTF8;
{$else} {$else}
DefaultFileSystemCodePage:=DefaultSystemCodepage; DefaultFileSystemCodePage:=DefaultSystemCodepage;
{$endif} {$endif}
DefaultRTLFileSystemCodePage:=DefaultFileSystemCodePage; DefaultRTLFileSystemCodePage:=DefaultFileSystemCodePage;
{$endif UNIX} {$ELSE UNIX}
if Assigned (WideStringManager.GetStandardCodePageProc) then
DefaultSystemCodePage := WideStringManager.GetStandardCodePageProc (scpAnsi)
else
DefaultSystemCodePage := CP_NONE;
DefaultFileSystemCodePage := DefaultSystemCodePage;
DefaultRTLFileSystemCodePage := DefaultSystemCodePage;
{$endif UNIX}
{$endif MSWINDOWS}
end; end;