summaryrefslogtreecommitdiff
path: root/setquota.c
diff options
context:
space:
mode:
authorjkar8572 <jkar8572>2008-12-17 12:40:07 +0000
committerjkar8572 <jkar8572>2008-12-17 12:40:07 +0000
commit830ca0318fc60c8566d76b3961bf9c40e2276569 (patch)
treefd6ac9448e36d836041b0aea7394931bc750e015 /setquota.c
parent1069b78a6ff95399a5f0ed2b9116f6ab94fb67a1 (diff)
downloadlinuxquota-830ca0318fc60c8566d76b3961bf9c40e2276569.tar.gz
* 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)
Diffstat (limited to 'setquota.c')
-rw-r--r--setquota.c20
1 files changed, 10 insertions, 10 deletions
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;