From 8e8cbdb562fd264fa52963a30b03016954268aa4 Mon Sep 17 00:00:00 2001 From: Choupom Date: Mon, 7 Jun 2010 17:27:16 +0800 Subject: fix for folders in demo browser --- src/base/system.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/base/system.c') diff --git a/src/base/system.c b/src/base/system.c index a1a1b33e..47893aa3 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -863,7 +863,8 @@ int fs_listdir(const char *dir, FS_LISTDIR_CALLBACK cb, void *user) /* add all the entries */ do { - cb(finddata.cFileName, 0, user); + if(finddata.cFileName[0] != '.') + cb(finddata.cFileName, 0, user); } while (FindNextFileA(handle, &finddata)); FindClose(handle); -- cgit 1.4.1 From 2a570196ef7dd66f475a3379b9cc5b6abf915e09 Mon Sep 17 00:00:00 2001 From: oy Date: Sat, 26 Jun 2010 17:53:32 +0200 Subject: check for case sensitive filename when trying to open a file for reading under windows. Closes #126 --- src/base/system.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/base/system.c') diff --git a/src/base/system.c b/src/base/system.c index 47893aa3..457b761a 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -262,7 +262,23 @@ int mem_check_imp() IOHANDLE io_open(const char *filename, int flags) { if(flags == IOFLAG_READ) + { + #if defined(CONF_FAMILY_WINDOWS) + // check for filename case sensitive + WIN32_FIND_DATA finddata; + HANDLE handle; + int length; + + length = str_length(filename); + if(!filename || !length || filename[length-1] == '\\') + return 0x0; + handle = FindFirstFile(filename, &finddata); + if(handle == INVALID_HANDLE_VALUE || str_comp(filename+length-str_length(finddata.cFileName), finddata.cFileName)) + return 0x0; + FindClose(handle); + #endif return (IOHANDLE)fopen(filename, "rb"); + } if(flags == IOFLAG_WRITE) return (IOHANDLE)fopen(filename, "wb"); return 0x0; -- cgit 1.4.1