|
From: <cro...@li...> - 2003-08-23 17:37:54
|
Module Name: crossfire
Committed By: temitchell
Date: Sat Aug 23 17:37:53 UTC 2003
Modified Files:
crossfire/server: win32.c
Log Message:
- commit patch by Nicolas Weeger to fix random maps on win32
Start of context diffs
Index: crossfire/server/win32.c
diff -c crossfire/server/win32.c:1.2 crossfire/server/win32.c:1.3
*** crossfire/server/win32.c:1.2 Fri Apr 6 12:07:27 2001
--- crossfire/server/win32.c Sat Aug 23 10:37:53 2003
***************
*** 102,107 ****
--- 102,110 ----
if (dp->offset != 0) {
if (_findnext(dp->handle, &(dp->fileinfo)) < 0) {
dp->finished = 1;
+ if (ENOENT == errno)
+ /* Clear error set to mean no more files else that breaks things */
+ errno = 0;
return NULL;
}
}
***************
*** 109,115 ****
strncpy(dp->dent.d_name, dp->fileinfo.name, _MAX_FNAME);
dp->dent.d_ino = 1;
! dp->dent.d_reclen = strlen(dp->dent.d_name);
dp->dent.d_off = dp->offset;
return &(dp->dent);
--- 112,119 ----
strncpy(dp->dent.d_name, dp->fileinfo.name, _MAX_FNAME);
dp->dent.d_ino = 1;
! /* reclen is used as meaning the length of the whole record */
! dp->dent.d_reclen = strlen(dp->dent.d_name) + sizeof(char) + sizeof(dp->dent.d_ino) + sizeof(dp->dent.d_reclen) + sizeof(dp->dent.d_off);
dp->dent.d_off = dp->offset;
return &(dp->dent);
|