コード例 #1
0
_WCRTLINK CHAR_TYPE *__F_NAME(getenv,_wgetenv)( const CHAR_TYPE *name )
{
  #ifdef __NETWARE__
    name = name;
  #else
    CHAR_TYPE       **envp;
    CHAR_TYPE       *p;
    int             len;

  #ifdef __WIDECHAR__
    if( _RWD_wenviron == NULL ) {
        __create_wide_environment();
    }
  #endif

    /*** Find the environment string ***/
    __ptr_check( name, 0 );
    envp = __F_NAME(_RWD_environ,_RWD_wenviron);
    if( (envp != NULL) && (name != NULL) ) {
        len = __F_NAME(strlen,wcslen)( name );
        for( ; p = *envp; ++envp ) {
            if( CMP_FUNC( p, name, len ) == 0 ) {
                if( p[len] == STRING( '=' ) ) {
                    return( &p[len+1] );
                }
            }
        }
    }
  #endif
    return( NULL );                 /* not found */
}
コード例 #2
0
_WCRTLINK char *getenv( const char *name )
{
    char        **envp;
    char        *p;

    /*** Find the environment string ***/
    __ptr_check( name, 0 );
    envp = _RWD_environ;
    if( (envp != NULL) && (name != NULL) ) {
        for( ; p = *envp; ++envp ) {
            const char  *s = name;

            while( *p != '\0' ) {   /* simple check is sufficient for p, not s */
                if ( _mbterm( s ) ) {
                    if( *p == '=' )  return( p + 1 );
                    break;
                }
                if ( _mbctoupper( _mbsnextc( p ) ) != _mbctoupper( _mbsnextc( s ) ) )
                    break;
                p = _mbsinc( p );   /* skip over character */
                s = _mbsinc( s );   /* skip over character */
            }
        }
    }
    return( NULL );                 /* not found */
}
コード例 #3
0
ファイル: atol.c プロジェクト: Azarien/open-watcom-v2
_WCRTLINK long int __F_NAME(atol,_wtol)( const CHAR_TYPE *p )
{
    long int        value;
    bool            minus;

    __ptr_check( p, 0 );

    while( __F_NAME(isspace,iswspace)( (UCHAR_TYPE)*p ) )
        ++p;
    minus = false;
    switch( *p ) {
    case STRING( '-' ):
        minus = true;
        // fall down
    case STRING( '+' ):
        ++p;
        break;
    }
    value = 0;
    while( __F_NAME(isdigit,iswdigit)( (UCHAR_TYPE)*p ) ) {
        value = value * 10 + *p - STRING( '0' );
        ++p;
    }
    if( minus )
        value = - value;
    return( value );
}
コード例 #4
0
ファイル: filerdk.c プロジェクト: ArmstrongJ/open-watcom-v2
_WCRTLINK int unlink( const CHAR_TYPE *filename ) 
{
    __ptr_check( filename, 0 );

    if( RdosDeleteFile( filename ) )
        return( 0 );
    else
        return( -1 );  
}
コード例 #5
0
ファイル: atoll.c プロジェクト: kendallb/scitech-mgl
_WCRTLINK void __F_NAME(__clib_atoll,__clib_watoll)( const CHAR_TYPE *p, unsigned __int64 *pv )  /* convert ASCII string to long integer */
    {
        unsigned __int64 value = 0;
        CHAR_TYPE    sign;

        __ptr_check( p, 0 );

        while( __F_NAME(isspace,iswspace)( *p ) ) ++p;
        sign = *p;
        if( sign == '+' || sign == '-' ) ++p;
        while( __F_NAME(isdigit,iswdigit)(*p) ) {
            value = value * 10 + *p - '0';
            ++p;
        }
        if( sign == '-' ) value = -value;
        *pv = value;
    }
コード例 #6
0
ファイル: getenv.c プロジェクト: ArmstrongJ/open-watcom-v2
_WCRTLINK CHAR_TYPE *__F_NAME(getenv,_wgetenv)( const CHAR_TYPE *name )
{
#ifdef __NETWARE__
    name = name;
#else
    CHAR_TYPE       **envp;
    CHAR_TYPE       *p;

  #ifdef __WIDECHAR__
    if( _RWD_wenviron == NULL ) {
        __create_wide_environment();
    }
  #endif

    /*** Find the environment string ***/
    __ptr_check( name, 0 );
    envp = __F_NAME(_RWD_environ,_RWD_wenviron);
    if( (envp != NULL) && (name != NULL) ) {
        for( ; p = *envp; ++envp ) {
            const CHAR_TYPE     *s = name;

            while( !_TCSTERM( p ) ) {
                if( _TCSTERM( s ) ) {
                    if( _TCSNEXTC( p ) == STRING( '=' ) )
                        return( _TCSINC( p ) );
                    break;
                }
  #if defined(__UNIX__)
                if( _TCSCMP( p, s ) )
  #else
                if( _TCSICMP( p, s ) )
  #endif
                    break;
                p = _TCSINC( p );   /* skip over character */
                s = _TCSINC( s );   /* skip over character */
            }
        }
    }
#endif
    return( NULL );                 /* not found */
}
コード例 #7
0
ファイル: removsnp.c プロジェクト: kendallb/scitech-mgl
_WCRTLINK int remove( char const *filename )
{
    __ptr_check( filename, 0 );
    return xremove( filename );
}