--- bsd/swapinternal.cc.orig	Tue Nov 16 23:16:20 1999
+++ bsd/swapinternal.cc	Tue Aug 21 11:27:26 2001
@@ -437,16 +437,17 @@
 #endif /* XOSVIEW_FREEBSD */
 
 void
-BSDGetSwapInfo(int* total, int* free)
+BSDGetSwapInfo(int64_t* total, int64_t* free)
 {
-        int i, avail, npfree, used=0, xsize, xfree;
+        int i, npfree, xsize, xfree;
+        int64_t avail, used=0;
 
 	fetchswap();
 #ifdef USE_KVM_GETSWAPINFO
 	avail = used = 0;
 	if (kvnsw == 0) {
-		avail += pagesize * kvmsw[0].ksw_total;
-		used += pagesize * kvmsw[0].ksw_used;
+		avail += pagesize * (int64_t)kvmsw[0].ksw_total;
+		used += pagesize * (int64_t)kvmsw[0].ksw_used;
 	}
 	*total = avail;
 	*free = avail - used;
