diff options
| author | 2010-02-14 13:45:01 +0000 | |
|---|---|---|
| committer | 2010-02-14 13:45:01 +0000 | |
| commit | de2aa6fdf02feb9105e3e2c619b6a5f47f64eeef (patch) | |
| tree | 43d0097c44caf5c77b57d630a445e89d598c8b8d /src/osd | |
| parent | 61e28b93b7e907c9decc7ab00b082840356b331c (diff) | |
- sdldir.c: Cleanup the #ifdef hell a bit.
- sdlfile.c: Cosmetic cleanups; what's the point in having #ifdef'd code for pwrite and lseek/fwrite, will get rid of that later.
Diffstat (limited to 'src/osd')
| -rw-r--r-- | src/osd/sdl/sdldir.c | 50 | ||||
| -rw-r--r-- | src/osd/sdl/sdlfile.c | 42 |
2 files changed, 44 insertions, 48 deletions
diff --git a/src/osd/sdl/sdldir.c b/src/osd/sdl/sdldir.c index 794d3b35fec..fa2e8bb1b53 100644 --- a/src/osd/sdl/sdldir.c +++ b/src/osd/sdl/sdldir.c @@ -43,14 +43,24 @@ #define INVPATHSEPCH '\\' #endif -struct _osd_directory -{ - osd_directory_entry ent; #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) - struct dirent *data; +typedef struct dirent sdl_dirent; +typedef struct stat sdl_stat; +#define sdl_readdir readdir +#define sdl_stat_fn stat #else - struct dirent64 *data; +typedef struct dirent64 sdl_dirent; +typedef struct stat64 sdl_stat; +#define sdl_readdir readdir64 +#define sdl_stat_fn stat64 #endif + +#define HAS_DT_XXX defined(SDLMAME_LINUX) || defined(SDLMAME_BSD) || defined(SDLMAME_DARWIN) + +struct _osd_directory +{ + osd_directory_entry ent; + sdl_dirent *data; DIR *fd; char *path; }; @@ -68,7 +78,7 @@ static char *build_full_path(const char *path, const char *file) } -#if defined (SDLMAME_LINUX) || defined (SDLMAME_BSD) || defined(SDLMAME_DARWIN) +#if HAS_DT_XXX static osd_dir_entry_type get_attributes_enttype(int attributes) { if (attributes == DT_DIR) @@ -80,15 +90,9 @@ static osd_dir_entry_type get_attributes_enttype(int attributes) static osd_dir_entry_type get_attributes_stat(const char *file) { -#if defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_OS2) - struct stat st; - if(stat(file, &st)) + sdl_stat st; + if(sdl_stat_fn(file, &st)) return (osd_dir_entry_type) 0; -#else - struct stat64 st; - if(stat64(file, &st)) - return ENTTYPE_NONE; -#endif if (S_ISDIR(st.st_mode)) return ENTTYPE_DIR; @@ -99,15 +103,9 @@ static osd_dir_entry_type get_attributes_stat(const char *file) static UINT64 osd_get_file_size(const char *file) { -#if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) - struct stat st; - if(stat(file, &st)) - return 0; -#else - struct stat64 st; - if(stat64(file, &st)) + sdl_stat st; + if(sdl_stat_fn(file, &st)) return 0; -#endif return st.st_size; } @@ -186,18 +184,14 @@ osd_directory *osd_opendir(const char *dirname) const osd_directory_entry *osd_readdir(osd_directory *dir) { char *temp; - #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) - dir->data = readdir(dir->fd); - #else - dir->data = readdir64(dir->fd); - #endif + dir->data = sdl_readdir(dir->fd); if (dir->data == NULL) return NULL; dir->ent.name = dir->data->d_name; temp = build_full_path(dir->path, dir->data->d_name); - #if defined (SDLMAME_LINUX) || defined (SDLMAME_BSD) || defined(SDLMAME_DARWIN) + #if HAS_DT_XXX dir->ent.type = get_attributes_enttype(dir->data->d_type); #else dir->ent.type = get_attributes_stat(temp); diff --git a/src/osd/sdl/sdlfile.c b/src/osd/sdl/sdlfile.c index 8c95280a557..badbff35e93 100644 --- a/src/osd/sdl/sdlfile.c +++ b/src/osd/sdl/sdlfile.c @@ -55,7 +55,7 @@ struct _osd_file { int handle; - char filename[1]; + char filename[1]; }; @@ -108,7 +108,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64 UINT32 access; const char *src; char *dst; - #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) + #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) struct stat st; #else struct stat64 st; @@ -192,7 +192,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64 #endif // attempt to open the file - #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) + #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) (*file)->handle = open(tmpstr, access, 0666); #else (*file)->handle = open64(tmpstr, access, 0666); @@ -215,7 +215,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64 // attempt to reopen the file if (error == NO_ERROR) { - #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) + #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) (*file)->handle = open(tmpstr, access, 0666); #else (*file)->handle = open64(tmpstr, access, 0666); @@ -235,7 +235,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64 } // get the file size - #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) + #if defined(SDLMAME_DARWIN) || defined(SDLMAME_WIN32) || defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_OS2) fstat((*file)->handle, &st); #else fstat64((*file)->handle, &st); @@ -383,34 +383,36 @@ int osd_get_physical_drive_geometry(const char *filename, UINT32 *cylinders, UIN return FALSE; // no, no way, huh-uh, forget it } -/*============================================================ */ -/* osd_is_path_separator */ -/*============================================================ */ +//============================================================ +// osd_is_path_separator +//============================================================ static int osd_is_path_separator(char c) { - return (c == '/') || (c == '\\'); + return (c == '/') || (c == '\\'); } -/*============================================================ */ -/* osd_is_absolute_path */ -/*============================================================ */ +//============================================================ +// osd_is_absolute_path +//============================================================ + int osd_is_absolute_path(const char *path) { - int result; + int result; - if (osd_is_path_separator(path[0])) - result = TRUE; + if (osd_is_path_separator(path[0])) + result = TRUE; #if !defined(SDLMAME_WIN32) && !defined(SDLMAME_OS2) - else if (path[0] == '.') - result = TRUE; + else if (path[0] == '.') + result = TRUE; #else #ifndef UNDER_CE else if (*path && path[1] == ':') result = TRUE; #endif #endif - else - result = FALSE; - return result; + else + result = FALSE; + + return result; } |
