Directory_create()

remove #include <windows.h> from setup.c
This commit is contained in:
Thomas Bernard 2020-04-12 00:45:55 +02:00
parent f2e1ea8921
commit 857ae29be8
No known key found for this signature in database
GPG Key ID: 0FF11B67A5C0863C
3 changed files with 17 additions and 14 deletions

View File

@ -537,6 +537,15 @@ int Directory_exists(const char * directory)
#endif #endif
} }
int Directory_create(const char * directory)
{
#if defined(__WIN32__) || defined(WIN32)
return CreateDirectoryA(directory, NULL) ? 0 : -1;
#else
return mkdir(directory, S_IRUSR|S_IWUSR|S_IXUSR);
#endif
}
/// Check if a file or directory is hidden. /// Check if a file or directory is hidden.
int File_is_hidden(const char *fname, const char *full_name) int File_is_hidden(const char *fname, const char *full_name)
{ {

View File

@ -136,6 +136,12 @@ int File_exists(const char * fname);
/// Returns true if a directory passed as a parameter exists in the current directory. /// Returns true if a directory passed as a parameter exists in the current directory.
int Directory_exists(const char * directory); int Directory_exists(const char * directory);
/**
* Creates a directory
* @return 0 on success, -1 on error
*/
int Directory_create(const char * directory);
/// Check if a file or directory is hidden. Full name (with directories) is optional. /// Check if a file or directory is hidden. Full name (with directories) is optional.
int File_is_hidden(const char *fname, const char *full_name); int File_is_hidden(const char *fname, const char *full_name);

View File

@ -28,16 +28,13 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h>
#if defined(__WIN32__) || defined(WIN32)
#include <windows.h>
#ifdef _MSC_VER #ifdef _MSC_VER
#define strdup _strdup #define strdup _strdup
#if _MSC_VER < 1900 #if _MSC_VER < 1900
#define snprintf _snprintf #define snprintf _snprintf
#endif #endif
#endif #endif
#elif defined(__macosx__) #if defined(__macosx__)
#import <CoreFoundation/CoreFoundation.h> #import <CoreFoundation/CoreFoundation.h>
#import <sys/param.h> #import <sys/param.h>
#elif defined(__FreeBSD__) #elif defined(__FreeBSD__)
@ -65,15 +62,6 @@
#define PATH_MAX 32768 #define PATH_MAX 32768
#endif #endif
int Create_ConfigDirectory(const char * config_dir)
{
#if defined(__WIN32__) || defined(WIN32)
return CreateDirectoryA(config_dir, NULL) ? 0 : -1;
#else
return mkdir(config_dir,S_IRUSR|S_IWUSR|S_IXUSR);
#endif
}
// Determine which directory contains the executable. // Determine which directory contains the executable.
// IN: Main's argv[0], some platforms need it, some don't. // IN: Main's argv[0], some platforms need it, some don't.
// OUT: program_dir. Trailing / or \ is kept. // OUT: program_dir. Trailing / or \ is kept.
@ -323,7 +311,7 @@ char * Get_config_directory(const char * program_dir)
if (!Directory_exists(config_dir)) if (!Directory_exists(config_dir))
{ {
// try to create it // try to create it
if (Create_ConfigDirectory(config_dir) < 0) if (Directory_create(config_dir) < 0)
{ {
GFX2_Log(GFX2_WARNING, "Failed to create directory \"%s\"\n", config_dir); GFX2_Log(GFX2_WARNING, "Failed to create directory \"%s\"\n", config_dir);
// Echec: on se rabat sur le repertoire de l'executable. // Echec: on se rabat sur le repertoire de l'executable.