diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5b7dc75936..2824cb1bbc 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-01 08:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * src/rtl/philes.c + * src/rtl/philes53.c + * include/hbextern.ch + + Added HB_FSETDEVMODE(). Documented, always available + equivalent of C5.3 undocumented function FSETDEVMOD(). + + * utils/hbmk2/hbmk2.prg + * Changed to use HB_FSETDEVMODE(). + 2009-12-01 02:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg ! Ops forgot to switch macro to Chr( 10 ) from hb_osNewLine(). diff --git a/harbour/include/hbextern.ch b/harbour/include/hbextern.ch index 79341f2cf7..fcba07c36c 100644 --- a/harbour/include/hbextern.ch +++ b/harbour/include/hbextern.ch @@ -1099,6 +1099,7 @@ EXTERNAL HB_FSETATTR EXTERNAL HB_FGETATTR EXTERNAL HB_FSETDATETIME EXTERNAL HB_FGETDATETIME +EXTERNAL HB_FSETDEVMODE EXTERNAL HB_FILEEXISTS EXTERNAL HB_DIREXISTS EXTERNAL HB_FNAMEEXISTS diff --git a/harbour/src/rtl/philes.c b/harbour/src/rtl/philes.c index c70cf0b83a..ff97b9998b 100644 --- a/harbour/src/rtl/philes.c +++ b/harbour/src/rtl/philes.c @@ -417,6 +417,20 @@ HB_FUNC( HB_FGETDATETIME ) hb_retl( FALSE ); } +HB_FUNC( HB_FSETDEVMODE ) +{ + /* C53 checks only number of parameters: hb_pcount() == 2 */ + if( HB_ISNUM( 1 ) && HB_ISNUM( 2 ) ) + { + hb_fsSetDevMode( hb_numToHandle( hb_parnint( 1 ) ), ( USHORT ) hb_parni( 2 ) ); + hb_fsSetFError( hb_fsError() ); + } + /* NOTE: INCOMPATIBILITY! C53 will return the device flags + before applying the new setting, Harbour will + always return 0. [vszakats] */ + hb_retni( 0 ); +} + HB_FUNC( HB_OSERROR ) { hb_retni( hb_fsOsError() ); diff --git a/harbour/src/rtl/philes53.c b/harbour/src/rtl/philes53.c index b5206a2340..f10fd27ad7 100644 --- a/harbour/src/rtl/philes53.c +++ b/harbour/src/rtl/philes53.c @@ -57,18 +57,11 @@ /* NOTE: Clipper 5.3 undocumented */ +HB_FUNC_EXTERN( HB_FSETDEVMODE ); + HB_FUNC( FSETDEVMOD ) { - /* C53 checks only number of parameters: hb_pcount() == 2 */ - if( HB_ISNUM( 1 ) && HB_ISNUM( 2 ) ) - { - hb_fsSetDevMode( hb_numToHandle( hb_parnint( 1 ) ), ( USHORT ) hb_parni( 2 ) ); - hb_fsSetFError( hb_fsError() ); - } - /* NOTE: INCOMPATIBILITY! C53 will return the device flags - before applying the new setting, Harbour will - always return 0. [vszakats] */ - hb_retni( 0 ); + HB_FUNC_EXEC( HB_FSETDEVMODE ); } #endif diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index c67b6156f5..a680f60e6a 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -326,7 +326,6 @@ REQUEST hbmk_KEYW #ifndef _HBMK_EMBEDDED_ -#define hb_FSetDevMod( a, b ) FSetDevMod( a, b ) #define hb_DirCreate( d ) MakeDir( d ) #define hb_DirDelete( d ) DirRemove( d ) @@ -346,8 +345,8 @@ PROCEDURE Main( ... ) LOCAL lOldExact := Set( _SET_EXACT, .F. ) - hb_FSetDevMod( hb_gtInfo( HB_GTI_OUTPUTFD ), FD_TEXT ) - hb_FSetDevMod( hb_gtInfo( HB_GTI_ERRORFD ), FD_TEXT ) + hb_FSetDevMode( hb_gtInfo( HB_GTI_OUTPUTFD ), FD_TEXT ) + hb_FSetDevMode( hb_gtInfo( HB_GTI_ERRORFD ), FD_TEXT ) /* Emulate -hbcmp, -hbcc, -hblnk switches when certain self names are detected.