From 197b949dfa611663b469d7f1b17f71eee43c6957 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Fri, 19 Jul 2013 16:31:47 +0000 Subject: [PATCH] * fixed chdir/rmdir/mkdir(rawbytestring) on FPCRTL_FILESYSTEM_SINGLE_BYTE_API when the passed in string has an encoding that is not a subset of DefaultFileSystemCodePage git-svn-id: branches/cpstrrtl@25139 - --- rtl/inc/system.inc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/rtl/inc/system.inc b/rtl/inc/system.inc index 9814f00bbe..d49c47a196 100644 --- a/rtl/inc/system.inc +++ b/rtl/inc/system.inc @@ -1631,15 +1631,23 @@ Procedure MkDir(Const s: RawByteString);[IOCheck]; Begin If (s='') or (InOutRes <> 0) then exit; +{$ifdef FPCRTL_FILESYSTEM_SINGLE_BYTE_API} + Do_mkdir(ToSingleByteFileSystemEncodedFileName(S)); +{$else FPCRTL_FILESYSTEM_SINGLE_BYTE_API} Do_mkdir(S); -End; +{$endif} +end; Procedure RmDir(Const s: RawByteString);[IOCheck]; Begin If (s='') or (InOutRes <> 0) then exit; +{$ifdef FPCRTL_FILESYSTEM_SINGLE_BYTE_API} + Do_rmdir(ToSingleByteFileSystemEncodedFileName(S)); +{$else FPCRTL_FILESYSTEM_SINGLE_BYTE_API} Do_rmdir(S); +{$endif} End; @@ -1647,7 +1655,11 @@ Procedure ChDir(Const s: RawByteString);[IOCheck]; Begin If (s='') or (InOutRes <> 0) then exit; +{$ifdef FPCRTL_FILESYSTEM_SINGLE_BYTE_API} + Do_chdir(ToSingleByteFileSystemEncodedFileName(S)); +{$else FPCRTL_FILESYSTEM_SINGLE_BYTE_API} Do_chdir(S); +{$endif} End;