The attached patch fixes the Cygwin testsuite failure I mentioned here:

http://www.cygwin.com/ml/cygwin-developers/2003-09/msg00019.html

2003-09-16  Brian Ford <[EMAIL PROTECTED]>

        * syscalls.cc (gethostid): GetDiskFreeSpaceEx call on NT4
        requires lpFreeBytesAvailable argument.

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax:   314-551-8444
Index: syscalls.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/syscalls.cc,v
retrieving revision 1.289
diff -u -p -u -w -p -r1.289 syscalls.cc
--- syscalls.cc 16 Sep 2003 00:45:50 -0000      1.289
+++ syscalls.cc 16 Sep 2003 19:46:03 -0000
@@ -2884,7 +2884,10 @@ long gethostid(void)
   key.get_string ("ProductId", (char *)&data[6], 24, "00000-000-0000000-00000");
   debug_printf ("Windows Product ID: %s", (char *)&data[6]);
 
-  GetDiskFreeSpaceEx ("C:\\", NULL, (PULARGE_INTEGER) &data[11], NULL);
+  /* Contrary to MSDN, NT4 requires the second argument
+     or a STATUS_ACCESS_VIOLATION is generated */
+  ULARGE_INTEGER availb;
+  GetDiskFreeSpaceEx ("C:\\", &availb, (PULARGE_INTEGER) &data[11], NULL);
   if (GetLastError () == ERROR_PROC_NOT_FOUND)
     GetDiskFreeSpace ("C:\\", NULL, NULL, NULL, (DWORD *)&data[11]);
 

Reply via email to