2009-02-11 02:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/include/hbapi.h
  * harbour/source/vm/cmdarg.c
    + added const char * hb_cmdargARGVN( int argc )

  * harbour/source/vm/cmdarg.c
    * try to convert executable file name argument in argv[0] to
      absolute path if it's relative one. Respect PATH envvar it necessary.

  * harbour/source/common/hbdate.c
    * formatting

  * harbour/source/rtl/philes.c
  * harbour/source/rtl/errorint.c
  * harbour/source/rtl/filesys.c
    ! use hb_cmdargARGVN(n) instead of hb_cmdargARGV()[n] to avoid
      possible GPF if some function will be called before argument
      initialization
    * removed additional logic which tries to convert relative paths
      in file name from hb_fsBaseDirBuff() and HB_PROGNAME() functions
This commit is contained in:
Przemyslaw Czerpak
2009-02-11 01:33:31 +00:00
parent bd949536fe
commit 013f7ab9a5
7 changed files with 132 additions and 105 deletions

View File

@@ -904,13 +904,14 @@ extern HB_EXPORT PHB_SYMB hb_symbolNew( const char * szName ); /* create a new
/* Command line and environment argument management */
extern HB_EXPORT void hb_cmdargInit( int argc, char * argv[] ); /* initialize command line argument API's */
extern int hb_cmdargARGC( void ); /* retrieve command line argument count */
extern char ** hb_cmdargARGV( void ); /* retrieve command line argument buffer pointer */
extern BOOL hb_cmdargIsInternal( const char * szArg, int * piLen ); /* determine if a string is an internal setting */
extern BOOL hb_cmdargCheck( const char * pszName ); /* Check if a given internal switch (like //INFO) was set */
extern char * hb_cmdargString( const char * pszName ); /* Returns the string value of an internal switch (like //TEMPPATH:"C:\") */
extern int hb_cmdargNum( const char * pszName ); /* Returns the numeric value of an internal switch (like //F:90) */
extern ULONG hb_cmdargProcessVM( int*, int* ); /* Check for command line internal arguments */
extern int hb_cmdargARGC( void ); /* retrieve command line argument count */
extern char ** hb_cmdargARGV( void ); /* retrieve command line argument buffer pointer */
extern const char * hb_cmdargARGVN( int argc ); /* retrieve given command line argument */
extern BOOL hb_cmdargIsInternal( const char * szArg, int * piLen ); /* determine if a string is an internal setting */
extern BOOL hb_cmdargCheck( const char * pszName ); /* Check if a given internal switch (like //INFO) was set */
extern char * hb_cmdargString( const char * pszName ); /* Returns the string value of an internal switch (like //TEMPPATH:"C:\") */
extern int hb_cmdargNum( const char * pszName ); /* Returns the numeric value of an internal switch (like //F:90) */
extern ULONG hb_cmdargProcessVM( int*, int* ); /* Check for command line internal arguments */
#if defined( HB_OS_WIN ) && defined( HB_OS_WIN_USED )
extern HB_EXPORT void hb_winmainArgInit( HANDLE hInstance, HANDLE hPrevInstance, int iCmdShow ); /* Set WinMain() parameters */
extern HB_EXPORT BOOL hb_winmainArgGet( HANDLE * phInstance, HANDLE * phPrevInstance, int * piCmdShow ); /* Retrieve WinMain() parameters */