35da536
--- rdist-6.1.5/src/filesys.c.stat64	2005-05-04 14:11:03.000000000 +0200
35da536
+++ rdist-6.1.5/src/filesys.c	2005-05-04 14:11:10.000000000 +0200
35da536
@@ -430,8 +430,8 @@
35da536
  */
35da536
 int getfilesysinfo(file, freespace, freefiles)
35da536
 	char *file;
35da536
-	long *freespace;
35da536
-	long *freefiles;
35da536
+	fsblkcnt_t *freespace;
35da536
+	fsfilcnt_t *freefiles;
35da536
 {
35da536
 #if	defined(STATFS_TYPE)
35da536
 	static statfs_t statfsbuf;
35da536
--- rdist-6.1.5/src/server.c.stat64	2005-05-04 14:11:23.000000000 +0200
35da536
+++ rdist-6.1.5/src/server.c	2005-05-04 14:20:34.000000000 +0200
35da536
@@ -62,8 +62,8 @@
35da536
 int	catname = 0;		/* cat name to target name */
35da536
 char	*sptarget[32];		/* stack of saved ptarget's for directories */
35da536
 char   *fromhost = NULL;	/* Client hostname */
35da536
-static long min_freespace = 0;	/* Minimium free space on a filesystem */
35da536
-static long min_freefiles = 0;	/* Minimium free # files on a filesystem */
35da536
+static fsblkcnt_t min_freespace = 0; /* Minimium free space on a filesystem */
35da536
+static fsfilcnt_t min_freefiles = 0; /* Minimium free # files on a filesystem */
35da536
 int	oumask;			/* Old umask */
35da536
 
35da536
 /*
35da536
@@ -1326,7 +1326,7 @@
35da536
 			fatalerr("Expected digit, got '%s'.", cp);
35da536
 			return;
35da536
 		}
35da536
-		min_freespace = (unsigned long) atoi(cp);
35da536
+		min_freespace = (fsblkcnt_t) atoll(cp);
35da536
 		break;
35da536
 
35da536
 	case SC_FREEFILES: 	/* Minimium free files */
35da536
@@ -1334,7 +1334,7 @@
35da536
 			fatalerr("Expected digit, got '%s'.", cp);
35da536
 			return;
35da536
 		}
35da536
-		min_freefiles = (unsigned long) atoi(cp);
35da536
+		min_freefiles = (fsfilcnt_t) atoll(cp);
35da536
 		break;
35da536
 
35da536
 	case SC_LOGGING:	/* Logging options */
35da536
@@ -1364,7 +1364,8 @@
35da536
 	time_t mtime, atime;
35da536
 	char *owner, *group, *file;
35da536
 	char new[MAXPATHLEN];
35da536
-	long freespace = -1, freefiles = -1;
35da536
+	fsfilcnt_t freefiles = -1;
35da536
+	fsblkcnt_t freespace = -1;
35da536
 	char *cp = cmd;
35da536
 
35da536
 	/*
35da536
@@ -1499,7 +1500,7 @@
35da536
 	 */
35da536
 	if (min_freespace || min_freefiles) {
35da536
 		/* Convert file size to kilobytes */
35da536
-		long fsize = (long) (size / 1024);
35da536
+		fsblkcnt_t fsize = (fsblkcnt_t) (size / 1024);
35da536
 
35da536
 		if (getfilesysinfo(target, &freespace, &freefiles) != 0)
35da536
 			return;
35da536
@@ -1511,14 +1512,14 @@
35da536
 		if (min_freespace && (freespace >= 0) && 
35da536
 		    (freespace - fsize < min_freespace)) {
35da536
 			error(
35da536
-		     "%s: Not enough free space on filesystem: min %d free %d",
35da536
+		     "%s: Not enough free space on filesystem: min %lld free %lld",
35da536
 			      target, min_freespace, freespace);
35da536
 			return;
35da536
 		}
35da536
 		if (min_freefiles && (freefiles >= 0) &&
35da536
 		    (freefiles - 1 < min_freefiles)) {
35da536
 			error(
35da536
-		     "%s: Not enough free files on filesystem: min %d free %d",
35da536
+		     "%s: Not enough free files on filesystem: min %lld free %lld",
35da536
 			      target, min_freefiles, freefiles);
35da536
 			return;
35da536
 		}