diff options
-rw-r--r-- | src/fileio.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/fileio.cpp b/src/fileio.cpp index 85c4e2d04..a976135d0 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -1049,11 +1049,13 @@ static uint ScanPath(FileScanner *fs, const char *extension, const char *path, s num += ScanPath(fs, extension, filename, basepath_length, recursive); } else if (S_ISREG(sb.st_mode)) { /* File */ - char *ext = strrchr(filename, '.'); + if (extension != NULL) { + char *ext = strrchr(filename, '.'); - /* If no extension or extension isn't .grf, skip the file */ - if (ext == NULL) continue; - if (strcasecmp(ext, extension) != 0) continue; + /* If no extension or extension isn't .grf, skip the file */ + if (ext == NULL) continue; + if (strcasecmp(ext, extension) != 0) continue; + } if (fs->AddFile(filename, basepath_length)) num++; } @@ -1073,11 +1075,14 @@ static uint ScanTar(FileScanner *fs, const char *extension, TarFileList::iterato { uint num = 0; const char *filename = (*tar).first.c_str(); - const char *ext = strrchr(filename, '.'); - /* If no extension or extension isn't .grf, skip the file */ - if (ext == NULL) return false; - if (strcasecmp(ext, extension) != 0) return false; + if (extension != NULL) { + const char *ext = strrchr(filename, '.'); + + /* If no extension or extension isn't .grf, skip the file */ + if (ext == NULL) return false; + if (strcasecmp(ext, extension) != 0) return false; + } if (fs->AddFile(filename, 0)) num++; |