2001-12-11 18:57 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2001-12-11 18:57 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
|
||||
* source/common/hbgete.c
|
||||
% Made it more fail-safe and compact.
|
||||
|
||||
2001-12-11 15:09 UTC+0100 Maurilio Longo <maurilio.longo@libero.it>
|
||||
* source/common/hbgete.c
|
||||
|
||||
@@ -60,62 +60,55 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
char * hb_getenv( const char * name )
|
||||
char * hb_getenv( const char * szName )
|
||||
{
|
||||
char * pszBuffer = NULL;
|
||||
|
||||
#ifdef HB_OS_WIN_32
|
||||
|
||||
char * pszBuffer = ( char * ) hb_xgrab( 255 );
|
||||
#if defined(HB_OS_WIN_32)
|
||||
|
||||
{
|
||||
DWORD nSize = GetEnvironmentVariable( name, pszBuffer, 0 );
|
||||
DWORD size = GetEnvironmentVariable( szName, NULL, 0 );
|
||||
|
||||
if( nSize == 0 )
|
||||
pszBuffer[ 0 ] = '\0';
|
||||
|
||||
else
|
||||
GetEnvironmentVariable( name, pszBuffer, 254 );
|
||||
if( size != 0 )
|
||||
{
|
||||
pszBuffer = ( char * ) hb_xgrab( size );
|
||||
GetEnvironmentVariable( szName, pszBuffer, size );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#elif defined(HB_OS_OS2)
|
||||
|
||||
char * pszBuffer = NULL;
|
||||
|
||||
{
|
||||
PSZ EnvValue = "";
|
||||
ULONG ulrc = DosScanEnv(name, &EnvValue);
|
||||
|
||||
if (ulrc == NO_ERROR) {
|
||||
pszBuffer = ( char * ) hb_xgrab( strlen(EnvValue) + 1 );
|
||||
strcpy( pszBuffer, (char *) EnvValue);
|
||||
|
||||
} else {
|
||||
pszBuffer = ( char * ) hb_xgrab( 1 );
|
||||
pszBuffer[ 0 ] = '\0';
|
||||
|
||||
}
|
||||
}
|
||||
PSZ EnvValue = "";
|
||||
|
||||
if( DosScanEnv( szName, &EnvValue ) == NO_ERROR )
|
||||
{
|
||||
pszBuffer = ( char * ) hb_xgrab( strlen( EnvValue ) + 1 );
|
||||
strcpy( pszBuffer, ( char * ) EnvValue );
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
char * pszBuffer = NULL;
|
||||
|
||||
{
|
||||
char * pszTemp = getenv( name );
|
||||
|
||||
if( pszTemp == NULL ) {
|
||||
pszBuffer = ( char * ) hb_xgrab( 1 );
|
||||
pszBuffer[ 0 ] = '\0';
|
||||
|
||||
} else {
|
||||
pszBuffer = ( char * ) hb_xgrab( strlen(pszTemp) + 1 );
|
||||
strcpy( pszBuffer, pszTemp);
|
||||
char * pszTemp = getenv( szName );
|
||||
|
||||
if( pszTemp != NULL )
|
||||
{
|
||||
pszBuffer = ( char * ) hb_xgrab( strlen( pszTemp ) + 1 );
|
||||
strcpy( pszBuffer, pszTemp );
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Return an empty string if some error occured. */
|
||||
|
||||
if( pszBuffer == NULL )
|
||||
{
|
||||
pszBuffer = ( char * ) hb_xgrab( 1 );
|
||||
pszBuffer[ 0 ] = '\0';
|
||||
}
|
||||
|
||||
return pszBuffer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user