From eb8bdcba78e45ebee3a0bfde58bf5b943f9663fd Mon Sep 17 00:00:00 2001 From: Gustavo Junior Alves Date: Mon, 7 Oct 2002 01:46:30 +0000 Subject: [PATCH] *** empty log message *** --- harbour/ChangeLog | 8 ++++++-- harbour/source/rtl/filesys.c | 27 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 6d4c698c33..5d802dc3a8 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,10 @@ 2002-12-01 23:12 UTC+0100 Foo Bar */ +2002-10-06 21:29 UTC-0300 Gustavo Junior Alves + * source/rtl/filesys.c + * hb_filecase on hb_fsMkDir, hb_fsChDir and hb_fsRmDir + 2002-10-05 23:00 UTC-0300 Luiz Rafael Culik * source/rtl/tget.prg * Fixed small problem when using Mouse to select the editing get @@ -117,13 +121,13 @@ * contrib/libct/color.prg ! fixed initialization bug reported by Marek Horodyski -2002-09-25 13:15 UTC+0300 Gustavo Junior Alves +2002-09-25 13:15 UTC-0300 Gustavo Junior Alves * source/rtl/file.c * source/rtl/filesys.c ! Allow last changes to compile under MSVC ! Change strdup to hb_strdup and rindex (BSD) to strrchr (POSIX) -2002-09-23 11:00 UTC+0300 Gustavo Junior Alves +2002-09-23 11:00 UTC-0300 Gustavo Junior Alves * include/hbapi.h * include/hbset.h * include/set.ch diff --git a/harbour/source/rtl/filesys.c b/harbour/source/rtl/filesys.c index f3edc7f30f..cd5b798f7d 100644 --- a/harbour/source/rtl/filesys.c +++ b/harbour/source/rtl/filesys.c @@ -1446,6 +1446,13 @@ BOOL hb_fsMkDir( BYTE * pDirname ) HB_TRACE(HB_TR_DEBUG, ("hb_fsMkDir(%s)", (char*) pDirname)); + pDirname = hb_strdup ( ( char * ) pDirname ); + + if( hb_set.HB_SET_DIRCASE == HB_SET_CASE_LOWER ) + pDirname = hb_strLower( pDirname, strlen( pDirname ) ); + else if( hb_set.HB_SET_DIRCASE == HB_SET_CASE_UPPER) + pDirname = hb_strUpper( pDirname, strlen( pDirname ) ); + #if defined(HB_OS_WIN_32) bResult = CreateDirectory( ( char * ) pDirname, NULL ); @@ -1470,6 +1477,8 @@ BOOL hb_fsMkDir( BYTE * pDirname ) #endif + hb_xfree( pDirname ); + return bResult; } @@ -1479,6 +1488,13 @@ BOOL hb_fsChDir( BYTE * pDirname ) HB_TRACE(HB_TR_DEBUG, ("hb_fsChDir(%s)", (char*) pDirname)); + pDirname = hb_strdup ( ( char * ) pDirname ); + + if( hb_set.HB_SET_DIRCASE == HB_SET_CASE_LOWER ) + pDirname = hb_strLower( pDirname, strlen( pDirname ) ); + else if( hb_set.HB_SET_DIRCASE == HB_SET_CASE_UPPER) + pDirname = hb_strUpper( pDirname, strlen( pDirname ) ); + #if defined(HB_OS_WIN_32) bResult = SetCurrentDirectory( ( char * ) pDirname ); @@ -1497,6 +1513,8 @@ BOOL hb_fsChDir( BYTE * pDirname ) #endif + hb_xfree( pDirname ); + return bResult; } @@ -1506,6 +1524,13 @@ BOOL hb_fsRmDir( BYTE * pDirname ) HB_TRACE(HB_TR_DEBUG, ("hb_fsRmDir(%s)", (char*) pDirname)); + pDirname = hb_strdup ( ( char * ) pDirname ); + + if( hb_set.HB_SET_DIRCASE == HB_SET_CASE_LOWER ) + pDirname = hb_strLower( pDirname, strlen( pDirname ) ); + else if( hb_set.HB_SET_DIRCASE == HB_SET_CASE_UPPER) + pDirname = hb_strUpper( pDirname, strlen( pDirname ) ); + #if defined(HB_OS_WIN_32) bResult = RemoveDirectory( ( char * ) pDirname ); @@ -1524,6 +1549,8 @@ BOOL hb_fsRmDir( BYTE * pDirname ) #endif + hb_xfree( pDirname ); + return bResult; }