Exemple #1
0
int FileIgnore( DIRINFO PASPTR *dir, int fattr )
/*********************************************/
{
    int         ignore_matches;
    char        *p;
    int         len;
    char        far *envname;
    char        *name;

    if( fattr != 0 && !( dir->attrFile & fattr ) ) return( 1 );
    name = dir->achName;
    if( PathCurr != 0 ) {
#ifdef DOS
        envname = ".COM.EXE.BAT";
#else
        envname = ".COM.EXE.CMD.BAT";
#endif
    } else {
        envname = GetEnv( MATCH_NAME, sizeof( MATCH_NAME ) - 1 );
        if( envname == (char far *)0 ) return( FALSE );
    }
    if( *envname == '~' ) {
        ++envname;
        ignore_matches = TRUE;
    } else {
        ignore_matches = FALSE;
    }
    while( !_null( *name ) && *name != '.' ) ++name;
#ifndef DOS
    if( *name == '.' ) {
        /* consider: a.b.c   .c is the extension */
        name += strlen( name ) - 1;
        while( *name != '.' ) --name;
    }
#endif
    len = 0;
    for( p = name; !_null( *p ); ++p ) ++len;
    for( ;; ) {
        for( ;; ) {
            if( *envname == '.' ) break;
            if( _null( *envname ) ) return( !ignore_matches );
            ++envname;
        }
        if( len == 0 ) {
            if( envname[1] == '.' || _null( envname[1] ) ) {
                return( ignore_matches );
            }
        } else {
            if( Equal( envname, name, len ) ) {
                if( _null( envname[len] ) || envname[len] == '.' ) {
                    return( ignore_matches );
                }
            }
        }
        ++envname;
    }
}
Exemple #2
0
    /*
     * Unsigned integer, possibly in hexadecimal.
     */
    explicit CarlaString(const unsigned int value, const bool hexadecimal = false) noexcept
        : fBuffer(_null()),
          fBufferLen(0)
    {
        char strBuf[0xff+1];
        std::snprintf(strBuf, 0xff, hexadecimal ? "0x%x" : "%u", value);
        strBuf[0xff] = '\0';

        _dup(strBuf);
    }
Exemple #3
0
    /*
     * Integer.
     */
    explicit CarlaString(const int value) noexcept
        : fBuffer(_null()),
          fBufferLen(0)
    {
        char strBuf[0xff+1];
        std::snprintf(strBuf, 0xff, "%d", value);
        strBuf[0xff] = '\0';

        _dup(strBuf);
    }
Exemple #4
0
    /*
     * Simple character.
     */
    explicit CarlaString(const char c) noexcept
        : fBuffer(_null()),
          fBufferLen(0)
    {
        char ch[2];
        ch[0] = c;
        ch[1] = '\0';

        _dup(ch);
    }
Exemple #5
0
 /*
  * Simple const char string.
  */
 explicit CarlaString(const char* const strBuf) noexcept
     : fBuffer(_null()),
       fBufferLen(0)
 {
     _dup(strBuf);
 }
Exemple #6
0
 /*
  * Empty string.
  */
 explicit CarlaString() noexcept
     : fBuffer(_null()),
       fBufferLen(0) {}
Exemple #7
0
 /*
  * Create string from another string.
  */
 CarlaString(const CarlaString& str) noexcept
     : fBuffer(_null()),
       fBufferLen(0)
 {
     _dup(str.fBuffer);
 }