changeset 99:02bbe1f397bb

Fixed precision problems with drivesize and drivefree on FreeBSD.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 06 Aug 2002 05:22:19 +0000
parents c0388006bb0d
children bb2b01c3122f
files compat.c compat.h
diffstat 2 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/compat.c	Sun Aug 04 09:52:41 2002 +0000
+++ b/compat.c	Tue Aug 06 05:22:19 2002 +0000
@@ -210,7 +210,7 @@
 
 /* Return in K to avoid big problems exceeding an
    unsigned long when no 64bit integers are available */
-#if (defined(__IBMC__) && __IBMC__ < 360) || (defined(__WIN32__) && !defined(__CYGWIN32__))
+#if (defined(__IBMC__) && __IBMC__ < 360)
 unsigned long drivefree(int drive)
 #else
 unsigned long long drivefree(int drive)
@@ -256,7 +256,7 @@
 	for (; entries-- > 0; fsp++)
 	{
 		if(index == drive)
-			return (fsp->f_bsize * fsp->f_bavail) / 1024;
+			return fsp->f_bsize * (fsp->f_bavail / 1024);
 		index++;
 	}
 	return 0;
@@ -319,7 +319,7 @@
 
 /* Return in K to avoid big problems exceeding an
    unsigned long when no 64bit integers are available */
-#if (defined(__IBMC__) && __IBMC__  < 360) || (defined(__WIN32__) && !defined(__CYGWIN32__))
+#if (defined(__IBMC__) && __IBMC__  < 360)
 unsigned long drivesize(int drive)
 #else
 unsigned long long drivesize(int drive)
@@ -365,7 +365,7 @@
 	for (; entries-- > 0; fsp++)
 	{
 		if(index == drive)
-			return (fsp->f_bsize * fsp->f_blocks) / 1024;
+			return fsp->f_bsize * (fsp->f_blocks / 1024);
 		index++;
 	}
 	return 0;
--- a/compat.h	Sun Aug 04 09:52:41 2002 +0000
+++ b/compat.h	Tue Aug 06 05:22:19 2002 +0000
@@ -196,7 +196,7 @@
 void nonblock(int fd);
 void block(int fd);
 void setfileinfo(char *filename, char *url, char *logfile);
-#if (defined(__IBMC__) && __IBMC__ < 360) || (defined(__WIN32__) && !defined(__CYGWIN32__))
+#if (defined(__IBMC__) && __IBMC__ < 360)
 unsigned long drivesize(int drive);
 unsigned long drivefree(int drive);
 #else