* 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
This commit is contained in:
usa 2001-03-20 23:10:05 +00:00
parent a84d087d3c
commit 98e25a542a
4 changed files with 34 additions and 7 deletions

View File

@ -1,3 +1,11 @@
Wed Mar 21 08:05:35 2001 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
* win32/dir.h: replace missing/dir.h .
* win32/win32.h: ditto.
* win32/win32.c: ditto.
Tue Mar 20 23:09:33 2001 WATANABE Hirofumi <eban@ruby-lang.org> Tue Mar 20 23:09:33 2001 WATANABE Hirofumi <eban@ruby-lang.org>
* win32/win32.c (win32_stat): UNC support. * win32/win32.c (win32_stat): UNC support.
@ -337,7 +345,7 @@ Sun Feb 18 04:02:03 2001 Yasushi Shoji <yashi@yashi.com>
Sun Feb 18 00:09:50 2001 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp> Sun Feb 18 00:09:50 2001 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
* win32/win32.c: fasten file I/O on mswin32/mingw32. * win32/win32.c: make file I/O faster on mswin32/mingw32.
* win32/win32.h: ditto. * win32/win32.h: ditto.

20
win32/dir.h Normal file
View File

@ -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 *);

View File

@ -25,11 +25,12 @@
#include <winbase.h> #include <winbase.h>
#include <wincon.h> #include <wincon.h>
#include "win32.h" #include "win32.h"
#include "dir.h" #include "win32/dir.h"
#ifndef index #ifndef index
#define index(x, y) strchr((x), (y)) #define index(x, y) strchr((x), (y))
#endif #endif
#define isdirsep(x) ((x) == '/' || (x) == '\\') #define isdirsep(x) ((x) == '/' || (x) == '\\')
#undef stat
#ifndef bool #ifndef bool
#define bool int #define bool int
@ -1334,7 +1335,7 @@ NtMakeCmdVector (char *cmdline, char ***vec, int InputCmd)
// //
DIR * DIR *
opendir(char *filename) opendir(const char *filename)
{ {
DIR *p; DIR *p;
long len; long len;
@ -1344,9 +1345,6 @@ opendir(char *filename)
struct stat sbuf; struct stat sbuf;
WIN32_FIND_DATA FindData; WIN32_FIND_DATA FindData;
HANDLE fh; HANDLE fh;
char root[PATHLEN];
char volname[PATHLEN];
DWORD serial, maxname, flags;
// //
// check to see if we\'ve got a directory // check to see if we\'ve got a directory

View File

@ -98,6 +98,7 @@ extern "C++" {
#include <process.h> #include <process.h>
#include <time.h> #include <time.h>
#include <math.h> #include <math.h>
#include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/utime.h> #include <sys/utime.h>
#include <io.h> #include <io.h>
@ -180,7 +181,7 @@ extern "C++" {
#define strcasecmp _stricmp #define strcasecmp _stricmp
#define strncasecmp _strnicmp #define strncasecmp _strnicmp
#undef stat #undef stat
#define stat win32_stat #define stat(path,st) win32_stat(path,st)
/* these are defined in nt.c */ /* these are defined in nt.c */
#ifdef __MINGW32__ #ifdef __MINGW32__