Mercurial > dwindows
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