2001-09-10 Earnie Boyd <earnie@SF.net>
* dossh: Remove inadvertantly imported file. 2001-09-10 Danny Smith <dannysmith@users.sourceforge.net> * dirent.c (opendir): Use GetFileAttributes rather than stat to determine if input arg is dir.
This commit is contained in:
parent
f3acbe3e3f
commit
34ed8fcee6
@ -1,3 +1,12 @@
|
|||||||
|
2001-09-10 Earnie Boyd <earnie@SF.net>
|
||||||
|
|
||||||
|
* dossh: Remove inadvertantly imported file.
|
||||||
|
|
||||||
|
2001-09-10 Danny Smith <dannysmith@users.sourceforge.net>
|
||||||
|
|
||||||
|
* dirent.c (opendir): Use GetFileAttributes rather than stat
|
||||||
|
to determine if input arg is dir.
|
||||||
|
|
||||||
2001-08-29 Danny Smith <dannysmith@users.sourceforge.net>
|
2001-08-29 Danny Smith <dannysmith@users.sourceforge.net>
|
||||||
|
|
||||||
* include/stdarg.h (va_list): Typedef as __builtin_va_list if
|
* include/stdarg.h (va_list): Typedef as __builtin_va_list if
|
||||||
|
@ -20,10 +20,12 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h> /* for GetFileAttributes */
|
||||||
|
|
||||||
#define SUFFIX "*"
|
#define SUFFIX "*"
|
||||||
#define SLASH "\\"
|
#define SLASH "\\"
|
||||||
|
|
||||||
@ -37,7 +39,7 @@ DIR *
|
|||||||
opendir (const char *szPath)
|
opendir (const char *szPath)
|
||||||
{
|
{
|
||||||
DIR *nd;
|
DIR *nd;
|
||||||
struct _stat statDir;
|
unsigned int rc;
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
|
|
||||||
@ -54,15 +56,16 @@ opendir (const char *szPath)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Attempt to determine if the given path really is a directory. */
|
/* Attempt to determine if the given path really is a directory. */
|
||||||
if (_stat (szPath, &statDir))
|
rc = GetFileAttributes(szPath);
|
||||||
|
if (rc == -1)
|
||||||
{
|
{
|
||||||
/* Error, stat should have set an error value. */
|
/* call GetLastError for more error info */
|
||||||
|
errno = ENOENT;
|
||||||
return (DIR *) 0;
|
return (DIR *) 0;
|
||||||
}
|
}
|
||||||
|
if (!(rc & FILE_ATTRIBUTE_DIRECTORY))
|
||||||
if (!S_ISDIR (statDir.st_mode))
|
|
||||||
{
|
{
|
||||||
/* Error, stat reports not a directory. */
|
/* Error, entry exists but not a directory. */
|
||||||
errno = ENOTDIR;
|
errno = ENOTDIR;
|
||||||
return (DIR *) 0;
|
return (DIR *) 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user