2010-02-20 15:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* src/rtl/philes.c
  * include/hbextern.ch
    + Added HB_CURDRIVE(). Similar to Xbase++ CURDRIVE(), but
      always provided by Harbour core.

  * utils/hbmk2/hbmk2.prg
    - Deleted mapping from hb_CurDrive() to CurDrive().

  * examples/httpsrv/uhttpd.prg
  * examples/httpsrv/modules/tableservletdb.prg
  * examples/gtwvw/tests/wvwtest9.prg
    * Changed to use hb_CurDrive() which is always available in
      Harbour core, instead of Xbase++ specific CurDrive().
This commit is contained in:
Viktor Szakats
2010-02-20 14:56:27 +00:00
parent fb8f347420
commit a352ff57ce
7 changed files with 133 additions and 83 deletions

View File

@@ -17,6 +17,21 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-02-20 15:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/philes.c
* include/hbextern.ch
+ Added HB_CURDRIVE(). Similar to Xbase++ CURDRIVE(), but
always provided by Harbour core.
* utils/hbmk2/hbmk2.prg
- Deleted mapping from hb_CurDrive() to CurDrive().
* examples/httpsrv/uhttpd.prg
* examples/httpsrv/modules/tableservletdb.prg
* examples/gtwvw/tests/wvwtest9.prg
* Changed to use hb_CurDrive() which is always available in
Harbour core, instead of Xbase++ specific CurDrive().
2010-02-20 13:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/Makefile
- contrib/xpp

View File

@@ -564,7 +564,7 @@ FUNCTION DEMO_Browse()
nHScrollBar := wvw_xbCreate( nCurWindow, 0, oBrowse:nBottom+1, oBrowse:nLeft, oBrowse:nRight-oBrowse:nLeft+1, /*aBlock*/ {|nWinNum, nXBid, nXBmsg, nXBpos| HXBscroller(oBrowse, nWinNum, nXBid, nXBmsg)}, /*aOffset*/ NIL)
nVScrollBar := wvw_xbCreate( nCurWindow, 1, oBrowse:nTop, oBrowse:nRight+1, oBrowse:nBottom-oBrowse:nTop+1, /*aBlock*/ {|nWinNum, nXBid, nXBmsg, nXBpos| VXBscroller(oBrowse, nWinNum, nXBid, nXBmsg)}, /*aOffset*/ NIL)
DispOutAt( nTop + 1-nTop, nleft-nleft, padc( CurDrive()+':\'+CurDir()+'\'+'test.dbf', nRight - nLeft + 1 ), 'W+/W' )
DispOutAt( nTop + 1-nTop, nleft-nleft, padc( hb_CurDrive()+':\'+CurDir()+'\'+'test.dbf', nRight - nLeft + 1 ), 'W+/W' )
oBrowse:ForceStable()
RefreshHXB(oBrowse, nCurWindow, nHScrollBar) //20040704

View File

@@ -157,7 +157,7 @@ RETURN Self
METHOD Open() CLASS TableManager
LOCAL cDBF := ::cTable
//hb_ToOutDebug( "CurPath = %s", CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir() )
//hb_ToOutDebug( "CurPath = %s", hb_CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir() )
//hb_ToOutDebug( "before: cDBF = %s, Used() = %s\n", cDBF, Used() )

View File

@@ -1551,21 +1551,21 @@ STATIC FUNCTION CGIExec( cProc, /*@*/ cOutPut )
// No hIn, hErr == hOut
// save current directory
cCurPath := CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir()
cCurPath := hb_CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir()
//hb_toOutDebug( "cCurPath: %s\n\r", cCurPath )
// Change dir to document root
DirChange( s_cDocumentRoot )
//hb_toOutDebug( "New Path: %s\n\r", CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir() )
//hb_toOutDebug( "New Path: %s\n\r", hb_CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir() )
hProc := hb_processOpen( cProc, @hIn, @hOut, @hOut, .T. ) // .T. = Detached Process (Hide Window)
// return to original folder
DirChange( cCurPath )
//hb_toOutDebug( "New 2 Path: %s\n\r", CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir() )
//hb_toOutDebug( "New 2 Path: %s\n\r", hb_CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir() )
IF hProc > -1
//hb_toOutDebug( "Process handler: %s\n\r", hProc )
@@ -2807,7 +2807,7 @@ STATIC FUNCTION Handler_HrbScript( cFileName )
IF !EMPTY( pHRB := HB_HRBLOAD( cHRBBody ) )
// save current directory
cCurPath := CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir()
cCurPath := hb_CurDrive() + hb_osDriveSeparator() + HB_OSPathSeparator() + CurDir()
// Change dir to document root
DirChange( s_cDocumentRoot )

View File

@@ -866,6 +866,82 @@ EXTERNAL HB_IDLESLEEP
EXTERNAL HB_IDLESTATE
EXTERNAL HB_RELEASECPU
EXTERNAL HB_AT
EXTERNAL HB_ATI
EXTERNAL HB_RAT
EXTERNAL HB_AINS
EXTERNAL HB_ADEL
EXTERNAL HB_ASCAN
EXTERNAL HB_RASCAN
EXTERNAL HB_ANSITOOEM
EXTERNAL HB_CLRAREA
EXTERNAL HB_COLORTON
EXTERNAL HB_NTOCOLOR
EXTERNAL HB_DISKSPACE
EXTERNAL HB_FCREATE
EXTERNAL HB_FSIZE
EXTERNAL HB_FEOF
EXTERNAL HB_FCOMMIT
EXTERNAL HB_FLOCK
EXTERNAL HB_FUNLOCK
EXTERNAL HB_FTEMPCREATE
EXTERNAL HB_FTEMPCREATEEX
EXTERNAL HB_FCOPY
EXTERNAL HB_FSETATTR
EXTERNAL HB_FGETATTR
EXTERNAL HB_FSETDATETIME
EXTERNAL HB_FGETDATETIME
EXTERNAL HB_FSETDEVMODE
EXTERNAL HB_FISDEVICE
EXTERNAL HB_FILEEXISTS
EXTERNAL HB_DIREXISTS
EXTERNAL HB_FNAMEEXISTS
EXTERNAL HB_FNAMEMERGE
EXTERNAL HB_FNAMESPLIT
EXTERNAL HB_DIRSCAN
EXTERNAL HB_PROCESSOPEN
EXTERNAL HB_PROCESSVALUE
EXTERNAL HB_PROCESSCLOSE
EXTERNAL HB_PROCESSRUN
EXTERNAL HB_GCSTEP
EXTERNAL HB_GCALL
EXTERNAL HB_KEYCLEAR
EXTERNAL HB_KEYPUT
EXTERNAL HB_KEYINS
EXTERNAL HB_OEMTOANSI
EXTERNAL HB_OSERROR
EXTERNAL HB_OSDRIVESEPARATOR
EXTERNAL HB_OSPATHDELIMITERS
EXTERNAL HB_OSPATHLISTSEPARATOR
EXTERNAL HB_OSPATHSEPARATOR
EXTERNAL HB_OSFILEMASK
EXTERNAL HB_SETKEY
EXTERNAL HB_SETKEYARRAY
EXTERNAL HB_SETKEYCHECK
EXTERNAL HB_SETKEYGET
EXTERNAL HB_SETKEYSAVE
EXTERNAL HB_SETLASTKEY
EXTERNAL HB_SHADOW
EXTERNAL HB_TRACELEVEL
EXTERNAL HB_TRACESTATE
EXTERNAL HB_TRACESTRING
EXTERNAL HB_TRACELOGLEVEL
EXTERNAL HB_TRACELOG
EXTERNAL HB_TRACELOGAT
EXTERNAL HB_CSTR
EXTERNAL HB_VALTOEXP
EXTERNAL HB_VALTOSTR
EXTERNAL HB_STRTOEXP
EXTERNAL HB_TOKENCOUNT
EXTERNAL HB_TOKENGET
EXTERNAL HB_TOKENPTR
EXTERNAL HB_ATOKENS
EXTERNAL HB_STRSHRINK
EXTERNAL HB_MEMOREAD
EXTERNAL HB_MEMOWRIT
EXTERNAL HB_NTOS
EXTERNAL HB_MILLISECONDS
EXTERNAL HB_CURDRIVE
EXTERNAL HB_OSNEWLINE
EXTERNAL HB_OSISWINNT
EXTERNAL HB_OSISWINCE
@@ -1036,82 +1112,6 @@ EXTERNAL HB_MUTEXSUBSCRIBE
EXTERNAL HB_MUTEXSUBSCRIBENOW
EXTERNAL HB_MUTEXQUEUEINFO
EXTERNAL HB_AT
EXTERNAL HB_ATI
EXTERNAL HB_RAT
EXTERNAL HB_AINS
EXTERNAL HB_ADEL
EXTERNAL HB_ASCAN
EXTERNAL HB_RASCAN
EXTERNAL HB_ANSITOOEM
EXTERNAL HB_CLRAREA
EXTERNAL HB_COLORTON
EXTERNAL HB_NTOCOLOR
EXTERNAL HB_DISKSPACE
EXTERNAL HB_FCREATE
EXTERNAL HB_FSIZE
EXTERNAL HB_FEOF
EXTERNAL HB_FCOMMIT
EXTERNAL HB_FLOCK
EXTERNAL HB_FUNLOCK
EXTERNAL HB_FTEMPCREATE
EXTERNAL HB_FTEMPCREATEEX
EXTERNAL HB_FCOPY
EXTERNAL HB_FSETATTR
EXTERNAL HB_FGETATTR
EXTERNAL HB_FSETDATETIME
EXTERNAL HB_FGETDATETIME
EXTERNAL HB_FSETDEVMODE
EXTERNAL HB_FISDEVICE
EXTERNAL HB_FILEEXISTS
EXTERNAL HB_DIREXISTS
EXTERNAL HB_FNAMEEXISTS
EXTERNAL HB_FNAMEMERGE
EXTERNAL HB_FNAMESPLIT
EXTERNAL HB_DIRSCAN
EXTERNAL HB_PROCESSOPEN
EXTERNAL HB_PROCESSVALUE
EXTERNAL HB_PROCESSCLOSE
EXTERNAL HB_PROCESSRUN
EXTERNAL HB_GCSTEP
EXTERNAL HB_GCALL
EXTERNAL HB_KEYCLEAR
EXTERNAL HB_KEYPUT
EXTERNAL HB_KEYINS
EXTERNAL HB_OEMTOANSI
EXTERNAL HB_OSERROR
EXTERNAL HB_OSDRIVESEPARATOR
EXTERNAL HB_OSPATHDELIMITERS
EXTERNAL HB_OSPATHLISTSEPARATOR
EXTERNAL HB_OSPATHSEPARATOR
EXTERNAL HB_OSFILEMASK
EXTERNAL HB_SETKEY
EXTERNAL HB_SETKEYARRAY
EXTERNAL HB_SETKEYCHECK
EXTERNAL HB_SETKEYGET
EXTERNAL HB_SETKEYSAVE
EXTERNAL HB_SETLASTKEY
EXTERNAL HB_SHADOW
EXTERNAL HB_TRACELEVEL
EXTERNAL HB_TRACESTATE
EXTERNAL HB_TRACESTRING
EXTERNAL HB_TRACELOGLEVEL
EXTERNAL HB_TRACELOG
EXTERNAL HB_TRACELOGAT
EXTERNAL HB_CSTR
EXTERNAL HB_VALTOEXP
EXTERNAL HB_VALTOSTR
EXTERNAL HB_STRTOEXP
EXTERNAL HB_TOKENCOUNT
EXTERNAL HB_TOKENGET
EXTERNAL HB_TOKENPTR
EXTERNAL HB_ATOKENS
EXTERNAL HB_STRSHRINK
EXTERNAL HB_MEMOREAD
EXTERNAL HB_MEMOWRIT
EXTERNAL HB_NTOS
EXTERNAL HB_MILLISECONDS
EXTERNAL HB_HASH
EXTERNAL HB_HHASKEY
EXTERNAL HB_HPOS

View File

@@ -284,6 +284,42 @@ HB_FUNC( CURDIR )
hb_retc( szBuffer );
}
HB_FUNC( HB_CURDRIVE )
{
#if defined( HB_OS_HAS_DRIVE_LETTER )
char szCurDrive[ 1 ];
const char * szDrive;
szCurDrive[ 0 ] = ( ( char ) hb_fsCurDrv() ) + 'A';
hb_retclen( szCurDrive, 1 );
szDrive = hb_parc( 1 );
if( szDrive )
{
int iDrive = -1;
if( *szDrive >= 'A' && *szDrive <= 'Z' )
iDrive = *szDrive - 'A';
else if( *szDrive >= 'a' && *szDrive <= 'z' )
iDrive = *szDrive - 'a';
if( iDrive >= 0 )
{
while( hb_fsChDrv( iDrive ) != 0 )
{
HB_USHORT uiAction = hb_errRT_BASE_Ext1( EG_OPEN, 6001, NULL,
HB_ERR_FUNCNAME, 0, EF_CANDEFAULT | EF_CANRETRY,
HB_ERR_ARGS_BASEPARAMS );
if( uiAction != E_RETRY )
break;
}
}
}
#else
hb_retc_null();
#endif
}
HB_FUNC( HB_PROGNAME )
{
const char * szBaseName = hb_cmdargARGVN( 0 );

View File

@@ -346,7 +346,6 @@ REQUEST hbmk_KEYW
#define hb_DirCreate( d ) MakeDir( d )
#define hb_DirDelete( d ) DirRemove( d )
#define hb_CurDrive() CurDrive()
PROCEDURE Main( ... )
LOCAL aArgsIn := hb_AParams()