Fix fucking mingw32 shit.

This commit is contained in:
Dale Weiler 2013-02-11 17:49:17 +00:00
parent 0b154d69e7
commit c7e3e3e306

33
fs.c
View file

@ -232,7 +232,7 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) {
* Now we implement some directory functionality. Windows lacks dirent.h * Now we implement some directory functionality. Windows lacks dirent.h
* this is such a pisss off, we implement it here. * this is such a pisss off, we implement it here.
*/ */
#if defined(_WIN32) #if defined(_WIN32) && !defined(__MINGW32__)
DIR *fs_dir_open(const char *name) { DIR *fs_dir_open(const char *name) {
DIR *dir = (DIR*)mem_a(sizeof(DIR) + strlen(name)); DIR *dir = (DIR*)mem_a(sizeof(DIR) + strlen(name));
if (!dir) if (!dir)
@ -300,10 +300,14 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) {
*/ */
# undef S_ISDIR # undef S_ISDIR
# define S_ISDIR(X) ((X)&_S_IFDIR) # define S_ISDIR(X) ((X)&_S_IFDIR)
#else #elif !defined(__MINGW32__)
#include <sys/stat.h> /* mkdir */ #include <sys/stat.h> /* mkdir */
#include <unistd.h> /* chdir */ #include <unistd.h> /* chdir */
int fs_dir_make(const char *path) {
return mkdir(path, 0700);
}
DIR *fs_dir_open(const char *name) { DIR *fs_dir_open(const char *name) {
return opendir(name); return opendir(name);
} }
@ -319,8 +323,27 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) {
int fs_dir_change(const char *path) { int fs_dir_change(const char *path) {
return chdir(path); return chdir(path);
} }
#else
int fs_dir_make(const char *path) { int fs_dir_make(const char *path) {
return mkdir(path, 0700); return mkdir(path);
} }
#endif /*! defined (_WIN32) */
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);
}
#endif