diff -urNp quota-tools-orig/edquota.c quota-tools/edquota.c --- quota-tools-orig/edquota.c 2007-09-18 18:21:07.000000000 +0200 +++ quota-tools/edquota.c 2008-06-19 16:00:13.000000000 +0200 @@ -181,7 +181,7 @@ int parse_options(int argc, char **argv) if (((flags & FL_EDIT_PERIOD) && argc != 0) || ((flags & FL_EDIT_TIMES) && argc < 1)) usage(); if ((flags & (FL_EDIT_PERIOD | FL_EDIT_TIMES)) && protoname) { - errstr(_("Prototype name does not make sence when editting grace period or times.\n")); + errstr(_("Prototype name does not make sence when editing grace period or times.\n")); usage(); } return optind; @@ -196,8 +196,11 @@ void copy_prototype(int argc, char **arg protoid = name2id(protoname, quotatype, !!(flags & FL_NUMNAMES), NULL); protoprivs = getprivs(protoid, handles, 0); while (argc-- > 0) { - id = name2id(*argv++, quotatype, !!(flags & FL_NUMNAMES), NULL); + id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); curprivs = getprivs(id, handles, 0); + if (!curprivs) + die(1, _("Cannot get quota information for user %s\n"), *argv); + argv++; for (pprivs = protoprivs, cprivs = curprivs; pprivs && cprivs; pprivs = pprivs->dq_next, cprivs = cprivs->dq_next) { @@ -276,7 +279,7 @@ int main(int argc, char **argv) ret = -1; } if (editprivs(tmpfil) < 0) { - errstr(_("Error while editting grace times.\n")); + errstr(_("Error while editing grace times.\n")); ret = -1; } if (readtimes(handles, tmpfd) < 0) { @@ -288,13 +291,15 @@ int main(int argc, char **argv) for (; argc > 0; argc--, argv++) { id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); curprivs = getprivs(id, handles, 0); + if (!curprivs) + die(1, _("Cannot get quota information for user %s\n"), *argv); if (writeindividualtimes(curprivs, tmpfd, *argv, quotatype) < 0) { errstr(_("Cannot write individual grace times to file.\n")); ret = -1; continue; } if (editprivs(tmpfil) < 0) { - errstr(_("Error while editting individual grace times.\n")); + errstr(_("Error while editing individual grace times.\n")); ret = -1; continue; } @@ -312,13 +317,15 @@ int main(int argc, char **argv) for (; argc > 0; argc--, argv++) { id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); curprivs = getprivs(id, handles, 0); + if (!curprivs) + die(1, _("Cannot get quota information for user %s.\n"), *argv); if (writeprivs(curprivs, tmpfd, *argv, quotatype) < 0) { errstr(_("Cannot write quotas to file.\n")); ret = -1; continue; } if (editprivs(tmpfil) < 0) { - errstr(_("Error while editting quotas.\n")); + errstr(_("Error while editing quotas.\n")); ret = -1; continue; } diff -urNp quota-tools-orig/Makefile.in quota-tools/Makefile.in --- quota-tools-orig/Makefile.in 2008-06-19 15:31:35.000000000 +0200 +++ quota-tools/Makefile.in 2008-06-19 15:35:05.000000000 +0200 @@ -105,6 +105,9 @@ install: all @INSTMO@ -$(INSTALL) -m 644 rquota.h rquota.x $(ROOTDIR)$(includedir)/rpcsvc -$(INSTALL) -m $(DEF_SBIN_MODE) quota $(ROOTDIR)$(bindir) -$(INSTALL) -m $(DEF_SBIN_MODE) rpc.rquotad $(ROOTDIR)$(sbindir) +ifneq ($(NETLINKLIBS),) + -$(INSTALL) -m $(DEF_SBIN_MODE) quota_nld $(ROOTDIR)$(sbindir) +endif -$(INSTALL) -m $(DEF_MAN_MODE) *.1 $(ROOTDIR)$(mandir)/man1 -$(INSTALL) -m $(DEF_MAN_MODE) *.2 $(ROOTDIR)$(mandir)/man2 -$(INSTALL) -m $(DEF_MAN_MODE) *.3 $(ROOTDIR)$(mandir)/man3 diff -urNp quota-tools-orig/quota.c quota-tools/quota.c --- quota-tools-orig/quota.c 2007-09-18 18:21:07.000000000 +0200 +++ quota-tools/quota.c 2008-06-19 15:42:12.000000000 +0200 @@ -204,7 +204,7 @@ int showquotas(int type, qid_t id, int m } else { if (bover) - sprintf(timebuf, "%Lu", (long long unsigned int)q->dq_dqb.dqb_btime); + sprintf(timebuf, "%llu", (long long unsigned int)q->dq_dqb.dqb_btime); else strcpy(timebuf, "0"); } @@ -222,7 +222,7 @@ int showquotas(int type, qid_t id, int m } else { if (iover) - sprintf(timebuf, "%Lu", (long long unsigned int)q->dq_dqb.dqb_itime); + sprintf(timebuf, "%llu", (long long unsigned int)q->dq_dqb.dqb_itime); else strcpy(timebuf, "0"); } diff -urNp quota-tools-orig/quotacheck.c quota-tools/quotacheck.c --- quota-tools-orig/quotacheck.c 2008-03-13 15:49:33.000000000 +0100 +++ quota-tools/quotacheck.c 2008-06-19 15:51:40.000000000 +0200 @@ -554,7 +554,7 @@ static int scan_dir(char *pathname) if (gcheck) add_to_quota(GRPQUOTA, st.st_ino, st.st_uid, st.st_gid, st.st_mode, st.st_nlink, qspace, 1); - debug(FL_DEBUG, _("\tAdding %s size %Ld ino %d links %d uid %u gid %u\n"), de->d_name, + debug(FL_DEBUG, _("\tAdding %s size %lld ino %d links %d uid %u gid %u\n"), de->d_name, (long long)st.st_size, (int)st.st_ino, (int)st.st_nlink, (int)st.st_uid, (int)st.st_gid); files_done++; } diff -urNp quota-tools-orig/quotacheck_v2.c quota-tools/quotacheck_v2.c --- quota-tools-orig/quotacheck_v2.c 2007-02-20 12:51:59.000000000 +0100 +++ quota-tools/quotacheck_v2.c 2008-06-19 15:43:53.000000000 +0200 @@ -158,7 +158,7 @@ static int buffer_entry(dqbuf_t buf, uin if (flags & FL_GUESSDQ) { if (!(flags & (FL_DEBUG | FL_VERBOSE))) fputc('\n', stderr); - errstr(_("Found more structures for ID %u. Using values: BHARD: %Ld BSOFT: %Ld IHARD: %Ld ISOFT: %Ld\n"), + errstr(_("Found more structures for ID %u. Using values: BHARD: %lld BSOFT: %lld IHARD: %lld ISOFT: %lld\n"), (uint) id, (long long)fdq->dqb_bhardlimit, (long long)fdq->dqb_bsoftlimit, (long long)fdq->dqb_ihardlimit, (long long)fdq->dqb_isoftlimit); return 0; @@ -166,7 +166,7 @@ static int buffer_entry(dqbuf_t buf, uin else if (flags & FL_INTERACTIVE) { if (!(flags & (FL_DEBUG | FL_VERBOSE))) fputc('\n', stderr); - errstr(_("Found more structures for ID %u. Values: BHARD: %Ld/%Ld BSOFT: %Ld/%Ld IHARD: %Ld/%Ld ISOFT: %Ld/%Ld\n"), + errstr(_("Found more structures for ID %u. Values: BHARD: %lld/%lld BSOFT: %lld/%lld IHARD: %lld/%lld ISOFT: %lld/%lld\n"), (uint) id, (long long)fdq->dqb_bhardlimit, (long long)mdq.dqb_bhardlimit, (long long)fdq->dqb_bsoftlimit, (long long)mdq.dqb_bsoftlimit, (long long)fdq->dqb_ihardlimit, (long long)mdq.dqb_ihardlimit, diff -urNp quota-tools-orig/quotaio_xfs.c quota-tools/quotaio_xfs.c --- quota-tools-orig/quotaio_xfs.c 2001-09-27 23:34:58.000000000 +0200 +++ quota-tools/quotaio_xfs.c 2008-06-19 15:49:35.000000000 +0200 @@ -274,7 +274,7 @@ static int xfs_report(struct quota_handl if (info->qs_uquota.qfs_ino == -1 || info->qs_uquota.qfs_ino == 0) printf(_("Inode: none\n")); else - printf(_("Inode: #%Lu (%Lu blocks, %u extents)\n"), + printf(_("Inode: #%llu (%llu blocks, %u extents)\n"), (unsigned long long)info->qs_uquota.qfs_ino, (unsigned long long)info->qs_uquota.qfs_nblks, info->qs_uquota.qfs_nextents); @@ -283,7 +283,7 @@ static int xfs_report(struct quota_handl if (info->qs_gquota.qfs_ino == -1) printf(_("Inode: none\n")); else - printf(_("Inode: #%Lu (%Lu blocks, %u extents)\n"), + printf(_("Inode: #%llu (%llu blocks, %u extents)\n"), (unsigned long long)info->qs_gquota.qfs_ino, (unsigned long long)info->qs_gquota.qfs_nblks, info->qs_gquota.qfs_nextents); diff -urNp quota-tools-orig/quota_nld.c quota-tools/quota_nld.c --- quota-tools-orig/quota_nld.c 2008-01-17 20:06:22.000000000 +0100 +++ quota-tools/quota_nld.c 2008-06-19 15:51:05.000000000 +0200 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -250,12 +251,12 @@ static void write_console_warning(struct } } if (!max_atime) { - errstr(_("Failed to find tty of user %Lu to report warning to.\n"), (unsigned long long)warn->caused_id); + errstr(_("Failed to find tty of user %llu to report warning to.\n"), (unsigned long long)warn->caused_id); return; } fd = open(max_dev, O_WRONLY); if (fd < 0) { - errstr(_("Failed to open tty %s of user %Lu to report warning.\n"), dev, (unsigned long long)warn->caused_id); + errstr(_("Failed to open tty %s of user %llu to report warning.\n"), dev, (unsigned long long)warn->caused_id); return; } id2name(warn->excess_id, warn->qtype, user); @@ -287,7 +288,7 @@ static void write_console_warning(struct } sprintf(warnbuf, "%s: %s %s %s.\r\n", level, type2name(warn->qtype), user, msg); if (write_all(fd, warnbuf, strlen(warnbuf)) < 0) - errstr(_("Failed to write quota message for user %Lu to %s: %s\n"), (unsigned long long)warn->caused_id, dev, strerror(errno)); + errstr(_("Failed to write quota message for user %llu to %s: %s\n"), (unsigned long long)warn->caused_id, dev, strerror(errno)); close(fd); } diff -urNp quota-tools-orig/quotaops.c quota-tools/quotaops.c --- quota-tools-orig/quotaops.c 2006-07-21 17:14:01.000000000 +0200 +++ quota-tools/quotaops.c 2008-06-19 15:46:21.000000000 +0200 @@ -266,7 +266,7 @@ int writeprivs(struct dquot *qlist, int _(" Filesystem blocks soft hard inodes soft hard\n")); for (q = qlist; q; q = q->dq_next) { - fprintf(fd, " %-24s %10Lu %10Lu %10Lu %10Lu %8Lu %8Lu\n", + fprintf(fd, " %-24s %10llu %10llu %10llu %10llu %8llu %8llu\n", q->dq_h->qh_quotadev, (long long)toqb(q->dq_dqb.dqb_curspace), (long long)q->dq_dqb.dqb_bsoftlimit, @@ -344,7 +344,7 @@ int readprivs(struct dquot *qlist, int i fgets(line, sizeof(line), fd); while (fgets(line, sizeof(line), fd)) { - cnt = sscanf(line, "%s %Lu %Lu %Lu %Lu %Lu %Lu", + cnt = sscanf(line, "%s %llu %llu %llu %llu %llu %llu", fsp, &blocks, &bsoft, &bhard, &inodes, &isoft, &ihard); if (cnt != 7) { @@ -370,7 +370,7 @@ int readprivs(struct dquot *qlist, int i return -1; } - cnt = sscanf(cp, _(" blocks in use: %Lu, limits (soft = %Lu, hard = %Lu)"), + cnt = sscanf(cp, _(" blocks in use: %llu, limits (soft = %llu, hard = %llu)"), &blocks, &bsoft, &bhard); if (cnt != 3) { errstr(_("%s - %s -- bad format\n"), @@ -384,7 +384,7 @@ int readprivs(struct dquot *qlist, int i return -1; } - cnt = sscanf(cp, _("\tinodes in use: %Lu, limits (soft = %Lu, hard = %Lu)"), + cnt = sscanf(cp, _("\tinodes in use: %llu, limits (soft = %llu, hard = %llu)"), &inodes, &isoft, &ihard); if (cnt != 3) { errstr(_("%s - %s -- bad format\n"), diff -urNp quota-tools-orig/quotasys.c quota-tools/quotasys.c --- quota-tools-orig/quotasys.c 2007-08-22 13:27:56.000000000 +0200 +++ quota-tools/quotasys.c 2008-06-19 15:48:45.000000000 +0200 @@ -369,10 +369,10 @@ void space2str(qsize_t space, char *buf, if (format) for (i = 3; i > 0; i--) if (space >= (1LL << (QUOTABLOCK_BITS*i))*100) { - sprintf(buf, "%Lu%c", (unsigned long long)(space+(1 << (QUOTABLOCK_BITS*i))-1) >> (QUOTABLOCK_BITS*i), suffix[i]); + sprintf(buf, "%llu%c", (unsigned long long)(space+(1 << (QUOTABLOCK_BITS*i))-1) >> (QUOTABLOCK_BITS*i), suffix[i]); return; } - sprintf(buf, "%Lu", (unsigned long long)space); + sprintf(buf, "%llu", (unsigned long long)space); } /* @@ -387,10 +387,10 @@ void number2str(unsigned long long num, if (format) for (i = 4, div = 1000000000000LL; i > 0; i--, div /= 1000) if (num >= 100*div) { - sprintf(buf, "%Lu%c", (num+div-1) / div, suffix[i]); + sprintf(buf, "%llu%c", (num+div-1) / div, suffix[i]); return; } - sprintf(buf, "%Lu", num); + sprintf(buf, "%llu", num); } /* diff -urNp quota-tools-orig/repquota.c quota-tools/repquota.c --- quota-tools-orig/repquota.c 2007-02-20 12:54:25.000000000 +0100 +++ quota-tools/repquota.c 2008-06-19 16:03:24.000000000 +0200 @@ -158,7 +158,7 @@ static void parse_options(int argcnt, ch } /* Are we over soft or hard limit? */ -static char overlim(uint usage, uint softlim, uint hardlim) +static char overlim(qsize_t usage, qsize_t softlim, qsize_t hardlim) { if ((usage > softlim && softlim) || (usage > hardlim && hardlim)) return '+'; @@ -181,7 +181,7 @@ static void print(struct dquot *dquot, c pname[PRINTNAMELEN] = 0; if (entry->dqb_bsoftlimit && toqb(entry->dqb_curspace) >= entry->dqb_bsoftlimit) if (flags & FL_RAWGRACE) - sprintf(time, "%Lu", (unsigned long long)entry->dqb_btime); + sprintf(time, "%llu", (unsigned long long)entry->dqb_btime); else difftime2str(entry->dqb_btime, time); else @@ -198,7 +198,7 @@ static void print(struct dquot *dquot, c numbuf[0], numbuf[1], numbuf[2], time); if (entry->dqb_isoftlimit && entry->dqb_curinodes >= entry->dqb_isoftlimit) if (flags & FL_RAWGRACE) - sprintf(time, "%Lu", (unsigned long long)entry->dqb_itime); + sprintf(time, "%llu", (unsigned long long)entry->dqb_itime); else difftime2str(entry->dqb_itime, time); else diff -urNp quota-tools-orig/setquota.c quota-tools/setquota.c --- quota-tools-orig/setquota.c 2007-11-13 11:44:43.000000000 +0100 +++ quota-tools/setquota.c 2008-06-19 15:38:36.000000000 +0200 @@ -184,7 +184,7 @@ static void parse_options(int argcnt, ch usage(); } if (flags & FL_PROTO && flags & FL_GRACE) { - errstr(_("Prototype user has no sense when editting grace times.\n")); + errstr(_("Prototype user has no sense when editing grace times.\n")); usage(); } if (flags & FL_INDIVIDUAL_GRACE && flags & FL_GRACE) {