summaryrefslogtreecommitdiff
path: root/uisimulator/win32/dir-win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator/win32/dir-win32.c')
-rw-r--r--uisimulator/win32/dir-win32.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/uisimulator/win32/dir-win32.c b/uisimulator/win32/dir-win32.c
index 3a30d57ae1..3c31c89100 100644
--- a/uisimulator/win32/dir-win32.c
+++ b/uisimulator/win32/dir-win32.c
@@ -18,6 +18,7 @@
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#include <io.h> 20#include <io.h>
21#include <windows.h>
21#include <malloc.h> 22#include <malloc.h>
22#include "dir-win32.h" 23#include "dir-win32.h"
23#include "dir.h" 24#include "dir.h"
@@ -33,11 +34,31 @@ DIR *opendir (
33{ 34{
34 DIR *p = (DIR*)malloc(sizeof(DIR)); 35 DIR *p = (DIR*)malloc(sizeof(DIR));
35 struct _finddata_t fd; 36 struct _finddata_t fd;
36 if ((p->handle = _findfirst (dirname, &fd)) == -1) 37 unsigned int i;
38 char *s = (char*)malloc(strlen(dirname) + 5);
39 wsprintf (s, "%s", dirname);
40
41 for (i = 0; i < strlen(s); i++)
42 if (s[i] == '/')
43 s[i] = '\\';
44
45 if (s[i - 1] != '\\')
46 {
47 s[i] = '\\';
48 s[++i] = '\0';
49 }
50
51 OutputDebugString (s);
52
53 wsprintf (s, "%s*.*", s);
54
55 if ((p->handle = _findfirst (s, &fd)) == -1)
37 { 56 {
57 free (s);
38 free (p); 58 free (p);
39 return 0; 59 return 0;
40 } 60 }
61 free (s);
41 return p; 62 return p;
42} 63}
43 64