summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-20 23:10:05 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-20 23:10:05 +0000
commit98e25a542aec760aed724bd7152ba86a96b3eeb8 (patch)
tree8ef03a07c7bece68d5625b49d5c23a8dc2fdba37 /win32
parenta84d087d3cb142ae76b5e257948f6bd70d7873f7 (diff)
* win32/dir.h: replace missing/dir.h .
* win32/win32.h: ditto. * win32/win32.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r--win32/dir.h20
-rw-r--r--win32/win32.c8
-rw-r--r--win32/win32.h3
3 files changed, 25 insertions, 6 deletions
diff --git a/win32/dir.h b/win32/dir.h
new file mode 100644
index 0000000000..8aa793de42
--- /dev/null
+++ b/win32/dir.h
@@ -0,0 +1,20 @@
+struct direct
+{
+ long d_namlen;
+ ino_t d_ino;
+ char d_name[256];
+};
+typedef struct {
+ char *start;
+ char *curr;
+ long size;
+ long nfiles;
+ struct direct dirstr;
+} DIR;
+
+DIR* opendir(const char*);
+struct direct* readdir(DIR *);
+long telldir(DIR *);
+void seekdir(DIR *, long);
+void rewinddir(DIR *);
+void closedir(DIR *);
diff --git a/win32/win32.c b/win32/win32.c
index da657a540f..d66723a0fc 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -25,11 +25,12 @@
#include <winbase.h>
#include <wincon.h>
#include "win32.h"
-#include "dir.h"
+#include "win32/dir.h"
#ifndef index
#define index(x, y) strchr((x), (y))
#endif
#define isdirsep(x) ((x) == '/' || (x) == '\\')
+#undef stat
#ifndef bool
#define bool int
@@ -1334,7 +1335,7 @@ NtMakeCmdVector (char *cmdline, char ***vec, int InputCmd)
//
DIR *
-opendir(char *filename)
+opendir(const char *filename)
{
DIR *p;
long len;
@@ -1344,9 +1345,6 @@ opendir(char *filename)
struct stat sbuf;
WIN32_FIND_DATA FindData;
HANDLE fh;
- char root[PATHLEN];
- char volname[PATHLEN];
- DWORD serial, maxname, flags;
//
// check to see if we\'ve got a directory
diff --git a/win32/win32.h b/win32/win32.h
index 5df539ecbd..0cd07eebcc 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -98,6 +98,7 @@ extern "C++" {
#include <process.h>
#include <time.h>
#include <math.h>
+#include <sys/stat.h>
#include <sys/types.h>
#include <sys/utime.h>
#include <io.h>
@@ -180,7 +181,7 @@ extern "C++" {
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
#undef stat
-#define stat win32_stat
+#define stat(path,st) win32_stat(path,st)
/* these are defined in nt.c */
#ifdef __MINGW32__