Пример #1
0
Boolean validFileName( const char *fileName )
{
    static const char * const illegalChars = ";,=+<>|\"[]\\";

    char path[MAXPATH];
    char dir[MAXDIR];
    char name[MAXFILE];
    char ext[MAXEXT];

    fnsplit( fileName, path, dir, name, ext );
    strcat( path, dir );
    if( *dir != EOS && !pathValid( path ) )
        return False;
    if( strpbrk( name, illegalChars ) != 0 ||
        strpbrk( ext+1, illegalChars) != 0 ||
        strchr( ext+1, '.' ) != 0
      )
        return False;
    return True;
}
Пример #2
0
Boolean validFileName(const char *fileName) {
#ifdef __MSDOS__
   static const char *const illegalChars = ";,=+<>|\"[] \\";
#else
   static const char *const illegalChars = "<>|\"\\";
#endif

   char path[MAXPATH];
   char dir[MAXDIR];
   char name[MAXFILE];
   char ext[MAXEXT];

   ext[1] = 0; // V.Timonin
   fnsplit(fileName, path, dir, name, ext);
   strcat(path, dir);
   if (*dir != EOS && !pathValid(path))
      return False;
   if (strpbrk(name, illegalChars) != 0 ||
       strpbrk(ext+1, illegalChars) != 0 ||
       strchr(ext+1, '.') != 0
      )
      return False;
   return True;
}