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; }
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; }