#if defined(__WIN32__)
#define WIN32_LEAN_AND_MEAN
+#define String String_
#include <windows.h>
+#undef String
#include <io.h>
BOOL WINAPI GetVolumePathName(LPCTSTR lpszFileName,LPTSTR lpszVolumePathName,DWORD cchBufferLength);
char text[MAX_F_STRING];
va_list args;
va_start(args, format);
- vsprintf(text, format, args);
+ vsnprintf(text, sizeof(text), format, args);
+ text[sizeof(text)-1] = 0;
if(Puts(text))
result = strlen(text);
va_end(args);
}
strcpy(file.name,de->d_name);
strcat(file.path, file.name);
- stat(file.path, &s);
- file.stats.attribs = (s.st_mode&S_IFDIR) ? FileAttribs { isDirectory = true } : FileAttribs { isFile = true };
- file.stats.size = s.st_size;
- file.stats.accessed = s.st_atime;
- file.stats.modified = s.st_mtime;
- file.stats.created = s.st_ctime;
-
+ if(!stat(file.path, &s))
+ {
+ file.stats.attribs = (s.st_mode&S_IFDIR) ? FileAttribs { isDirectory = true } : FileAttribs { isFile = true };
+ file.stats.size = s.st_size;
+ file.stats.accessed = s.st_atime;
+ file.stats.modified = s.st_mtime;
+ file.stats.created = s.st_ctime;
+ }
strcpy(d.name, path);
result = file;
if(d.name[0] && d.name[1])
strcat(path, DIR_SEPS);
strcat(path, name);
- stat(path, &s);
- stats.attribs = FileAttribs { };
- stats.attribs = (s.st_mode&S_IFDIR) ? FileAttribs { isDirectory = true } : FileAttribs { isFile = true };
- stats.size = s.st_size;
- stats.accessed = s.st_atime;
- stats.modified = s.st_mtime;
- stats.created = s.st_ctime;
+ if(!stat(path, &s))
+ {
+ stats.attribs = FileAttribs { };
+ stats.attribs = (s.st_mode&S_IFDIR) ? FileAttribs { isDirectory = true } : FileAttribs { isFile = true };
+ stats.size = s.st_size;
+ stats.accessed = s.st_atime;
+ stats.modified = s.st_mtime;
+ stats.created = s.st_ctime;
+ }
result = this;
}
else