ports/net/rdist6/files/patch-src_rdist.c
2020-09-01 19:24:29 +00:00

53 lines
1.7 KiB
C

--- src/rdist.c.orig 1998-11-10 04:13:50 UTC
+++ src/rdist.c
@@ -62,8 +62,8 @@ static char copyright[] =
char *distfile = NULL; /* Name of distfile to use */
int maxchildren = MAXCHILDREN; /* Max no of concurrent PIDs */
int nflag = 0; /* Say without doing */
-long min_freespace = 0; /* Min filesys free space */
-long min_freefiles = 0; /* Min filesys free # files */
+int64_t min_freespace = 0; /* Min filesys free space */
+int64_t min_freefiles = 0; /* Min filesys free # files */
FILE *fin = NULL; /* Input file pointer */
struct group *gr = NULL; /* Static area for getgrent */
char localmsglist[] = "stdout=all:notify=all:syslog=nerror,ferror";
@@ -107,12 +107,13 @@ main(argc, argv, envp)
register char *cp;
int cmdargs = 0;
int c;
+ const char *errstr;
/*
* We initialize progname here instead of init() because
* things in msgparseopts() need progname set.
*/
- setprogname(argv);
+ progname = basename(argv[0]);
if (cp = msgparseopts(localmsglist, TRUE)) {
error("Bad builtin log option (%s): %s.",
@@ -176,10 +177,20 @@ main(argc, argv, envp)
error("\"%s\" is not a number.", optarg);
usage();
}
- if (c == 'a')
- min_freespace = atoi(optarg);
- else if (c == 'A')
- min_freefiles = atoi(optarg);
+ if (c == 'a') {
+ min_freespace = (int64_t)strtonum(optarg,
+ 0, LLONG_MAX, &errstr);
+ if (errstr)
+ fatalerr("Minimum free space is %s: "
+ "'%s'", errstr, optarg);
+ }
+ else if (c == 'A') {
+ min_freefiles = (int64_t)strtonum(optarg,
+ 0, LLONG_MAX, &errstr);
+ if (errstr)
+ fatalerr("Minimum free files is %s: "
+ "'%s'", errstr, optarg);
+ }
else if (c == 'M')
maxchildren = atoi(optarg);
else if (c == 't')