From 830ca0318fc60c8566d76b3961bf9c40e2276569 Mon Sep 17 00:00:00 2001 From: jkar8572 Date: Wed, 17 Dec 2008 12:40:07 +0000 Subject: * fix reference to rpc manpage (anonymous reporter) * add EXT4 (not only EXT4DEV) to the list of supported filesystems (Mingming Cao) * fix setting of more than 31-bit block and inode limits (Gui Xiaohua) * fixed bug in error reporting when quota reading fails (Jan Kara) * added support for quota formats with hidden quota files (Jan Kara) --- setquota.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'setquota.c') diff --git a/setquota.c b/setquota.c index c104b31..325c553 100644 --- a/setquota.c +++ b/setquota.c @@ -78,10 +78,10 @@ static void usage(void) } /* Convert string to number - print errstr message in case of failure */ -static long parse_num(char *str, char *msg) +static qsize_t parse_unum(char *str, char *msg) { char *errch; - long ret = strtol(str, &errch, 0); + qsize_t ret = strtoull(str, &errch, 0); if (*errch) { errstr(_("Bad %s: %s\n"), msg, str); @@ -219,17 +219,17 @@ static void parse_options(int argcnt, char **argstr) if (!(flags & (FL_GRACE | FL_BATCH))) { id = name2id(argstr[optind++], flag2type(flags), !!(flags & FL_NUMNAMES), NULL); if (!(flags & (FL_GRACE | FL_INDIVIDUAL_GRACE | FL_PROTO))) { - toset.dqb_bsoftlimit = parse_num(argstr[optind++], _("block softlimit")); - toset.dqb_bhardlimit = parse_num(argstr[optind++], _("block hardlimit")); - toset.dqb_isoftlimit = parse_num(argstr[optind++], _("inode softlimit")); - toset.dqb_ihardlimit = parse_num(argstr[optind++], _("inode hardlimit")); + toset.dqb_bsoftlimit = parse_unum(argstr[optind++], _("block softlimit")); + toset.dqb_bhardlimit = parse_unum(argstr[optind++], _("block hardlimit")); + toset.dqb_isoftlimit = parse_unum(argstr[optind++], _("inode softlimit")); + toset.dqb_ihardlimit = parse_unum(argstr[optind++], _("inode hardlimit")); } else if (flags & FL_PROTO) protoid = name2id(protoname, flag2type(flags), !!(flags & FL_NUMNAMES), NULL); } if (flags & FL_GRACE) { - toset.dqb_btime = parse_num(argstr[optind++], _("block grace time")); - toset.dqb_itime = parse_num(argstr[optind++], _("inode grace time")); + toset.dqb_btime = parse_unum(argstr[optind++], _("block grace time")); + toset.dqb_itime = parse_unum(argstr[optind++], _("inode grace time")); } else if (flags & FL_INDIVIDUAL_GRACE) { time_t now; @@ -240,13 +240,13 @@ static void parse_options(int argcnt, char **argstr) optind++; } else - toset.dqb_btime = now + parse_num(argstr[optind++], _("block grace time")); + toset.dqb_btime = now + parse_unum(argstr[optind++], _("block grace time")); if (!strcmp(argstr[optind], _("unset"))) { toset.dqb_itime = 0; optind++; } else - toset.dqb_itime = now + parse_num(argstr[optind++], _("inode grace time")); + toset.dqb_itime = now + parse_unum(argstr[optind++], _("inode grace time")); } if (!(flags & FL_ALL)) { mntcnt = argcnt - optind; -- cgit v1.2.1