X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=fs.c;h=997b368b13ce6bf801ff5637b9689ae464e853b0;hb=1a9c82483cbbcf194f2da51790db370024aafbba;hp=ece62ff00e959a676e8d298747e6cfdd78053935;hpb=c7e3e3e3065c90b9362a64f3c3f37acb72598ade;p=xonotic%2Fgmqcc.git diff --git a/fs.c b/fs.c index ece62ff..997b368 100644 --- a/fs.c +++ b/fs.c @@ -53,7 +53,7 @@ ) { wprintf(L"Invalid parameter dectected %s:%d %s [%s]\n", file, line, function, expression); wprintf(L"Aborting ...\n"); - abort(); + exit(EXIT_FAILURE); } static void file_init() { @@ -165,16 +165,6 @@ int fs_file_seek(FILE *fp, long int off, int whence) { return fseek(fp, off, whence); } -int fs_file_putc(FILE *fp, int ch) { - /* Invokes file_exception on windows if fp is null */ - return fputc(ch, fp); -} - -int fs_file_flush(FILE *fp) { - /* Invokes file_exception on windows if fp is null */ - return fflush(fp); -} - long int fs_file_tell(FILE *fp) { /* Invokes file_exception on windows if fp is null */ return ftell(fp); @@ -238,7 +228,7 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) { if (!dir) return NULL; - strcpy(dir->dd_name, name); + strncpy(dir->dd_name, name, strlen(name)); return dir; } @@ -258,8 +248,8 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) { if (*dir->dd_name) { size_t n = strlen(dir->dd_name); if ((dirname = (char*)mem_a(n + 5) /* 4 + 1 */)) { - strcpy(dirname, dir->dd_name); - strcpy(dirname + n, "\\*.*"); /* 4 + 1 */ + strncpy(dirname, dir->dd_name, n); + strncpy(dirname + n, "\\*.*", 4); /* 4 + 1 */ } } else { if (!(dirname = util_strdup("\\*.*"))) @@ -300,50 +290,29 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) { */ # undef S_ISDIR # define S_ISDIR(X) ((X)&_S_IFDIR) -#elif !defined(__MINGW32__) - #include /* mkdir */ - #include /* chdir */ - - int fs_dir_make(const char *path) { - return mkdir(path, 0700); - } - - DIR *fs_dir_open(const char *name) { - return opendir(name); - } - - int fs_dir_close(DIR *dir) { - return closedir(dir); - } - - struct dirent *fs_dir_read(DIR *dir) { - return readdir(dir); - } - - int fs_dir_change(const char *path) { - return chdir(path); - } #else - int fs_dir_make(const char *path) { - return mkdir(path); - } - - DIR *fs_dir_open(const char *name) { - return opendir(name); - } +# if !defined(__MINGW32__) +# include /* mkdir */ - int fs_dir_close(DIR *dir) { - return closedir(dir); - } - - struct dirent *fs_dir_read(DIR *dir) { - return readdir(dir); - } + int fs_dir_make(const char *path) { + return mkdir(path, 0700); + } +# else + int fs_dir_make(const char *path) { + return mkdir(path); + } +# endif /*! !defined(__MINGW32__) */ - int fs_dir_change(const char *path) { - return chdir(path); - } -#endif +DIR *fs_dir_open(const char *name) { + return opendir(name); +} +int fs_dir_close(DIR *dir) { + return closedir(dir); +} +struct dirent *fs_dir_read(DIR *dir) { + return readdir(dir); +} +#endif /*! defined(_WIN32) && !defined(__MINGW32__) */