Module Name: src
Committed By: dholland
Date: Mon Aug 13 22:21:05 UTC 2012
Modified Files:
src/usr.sbin/edquota: edquota.c
Log Message:
Minor cleanup: use bitfields instead of a flags word for private state
flags, remove now-unused qfname field.
To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/usr.sbin/edquota/edquota.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/edquota/edquota.c
diff -u src/usr.sbin/edquota/edquota.c:1.47 src/usr.sbin/edquota/edquota.c:1.48
--- src/usr.sbin/edquota/edquota.c:1.47 Sat Apr 7 05:07:32 2012
+++ src/usr.sbin/edquota/edquota.c Mon Aug 13 22:21:05 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: edquota.c,v 1.47 2012/04/07 05:07:32 christos Exp $ */
+/* $NetBSD: edquota.c,v 1.48 2012/08/13 22:21:05 dholland Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
* The Regents of the University of California. All rights reserved.
@@ -41,7 +41,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "from: @(#)edquota.c 8.3 (Berkeley) 4/27/95";
#else
-__RCSID("$NetBSD: edquota.c,v 1.47 2012/04/07 05:07:32 christos Exp $");
+__RCSID("$NetBSD: edquota.c,v 1.48 2012/08/13 22:21:05 dholland Exp $");
#endif
#endif /* not lint */
@@ -89,18 +89,15 @@ static const char *quotagroup = QUOTAGRO
#define MAX_TMPSTR (100+MAXPATHLEN)
-/* flags for quotause */
-#define FOUND 0x01
-#define XGRACE 0x02 /* extended grace periods (per-id) */
-#define DEFAULT 0x04
-
struct quotause {
struct quotause *next;
- long flags;
+ unsigned found:1, /* found after running editor */
+ xgrace:1, /* grace periods are per-id */
+ isdefault:1;
+
struct quotaval qv[EDQUOTA_NUMOBJTYPES];
char fsname[MAXPATHLEN + 1];
char implementation[32];
- char *qfname;
};
struct quotalist {
@@ -169,10 +166,11 @@ quotause_create(void)
}
qup->next = NULL;
- qup->flags = 0;
+ qup->found = 0;
+ qup->xgrace = 0;
+ qup->isdefault = 0;
memset(qup->qv, 0, sizeof(qup->qv));
qup->fsname[0] = '\0';
- qup->qfname = NULL;
return qup;
}
@@ -183,7 +181,6 @@ quotause_create(void)
static void
quotause_destroy(struct quotause *qup)
{
- free(qup->qfname);
free(qup);
}
@@ -352,7 +349,7 @@ getprivs1(long id, int idtype, const cha
#endif
////////////////////////////////////////////////////////////
-// ffs quota v2
+// generic quota interface
static int
dogetprivs2(struct quotahandle *qh, int idtype, id_t id, int defaultq,
@@ -386,7 +383,7 @@ getprivs2(long id, int idtype, const cha
qup = quotause_create();
strcpy(qup->fsname, filesys);
if (defaultq)
- qup->flags |= DEFAULT;
+ qup->isdefault = 1;
qh = quota_open(filesys);
if (qh == NULL) {
@@ -402,7 +399,7 @@ getprivs2(long id, int idtype, const cha
restrictions = quota_getrestrictions(qh);
if ((restrictions & QUOTA_RESTRICT_UNIFORMGRACE) == 0) {
- qup->flags |= XGRACE;
+ qup->xgrace = 1;
}
if (*idtypename_p == NULL) {
@@ -437,7 +434,7 @@ putprivs2(uint32_t id, int idtype, struc
struct quotakey qk;
char idname[32];
- if (qup->flags & DEFAULT) {
+ if (qup->isdefault) {
snprintf(idname, sizeof(idname), "%s default",
idtype == QUOTA_IDTYPE_USER ? "user" : "group");
id = QUOTA_DEFAULTID;
@@ -543,12 +540,12 @@ putprivs(uint32_t id, int idtype, struct
struct quotause *qup;
for (qup = qlist->head; qup; qup = qup->next) {
- if (qup->qfname == NULL)
- putprivs2(id, idtype, qup);
#if 0
- else
+ if (qup->qfname != NULL)
putprivs1(id, idtype, qup);
+ else
#endif
+ putprivs2(id, idtype, qup);
}
}
@@ -721,7 +718,7 @@ writeprivs(struct quotalist *qlist, int
struct quotaval *q = qup->qv;
fprintf(fd, "%s (%s):\n",
qup->fsname, qup->implementation);
- if ((qup->flags & DEFAULT) == 0 || (qup->flags & XGRACE) != 0) {
+ if (!qup->isdefault || qup->xgrace) {
fprintf(fd, "\tblocks in use: %s, "
"limits (soft = %s, hard = %s",
intprt(b1, 21, q[QO_BLK].qv_usage,
@@ -730,17 +727,17 @@ writeprivs(struct quotalist *qlist, int
HN_NOSPACE | HN_B, Hflag),
intprt(b3, 21, q[QO_BLK].qv_hardlimit,
HN_NOSPACE | HN_B, Hflag));
- if (qup->flags & XGRACE)
+ if (qup->xgrace)
fprintf(fd, ", ");
} else
fprintf(fd, "\tblocks: (");
- if (qup->flags & (XGRACE|DEFAULT)) {
+ if (qup->xgrace || qup->isdefault) {
fprintf(fd, "grace = %s",
timepprt(b0, 21, q[QO_BLK].qv_grace, Hflag));
}
fprintf(fd, ")\n");
- if ((qup->flags & DEFAULT) == 0 || (qup->flags & XGRACE) != 0) {
+ if (!qup->isdefault || qup->xgrace) {
fprintf(fd, "\tinodes in use: %s, "
"limits (soft = %s, hard = %s",
intprt(b1, 21, q[QO_FL].qv_usage,
@@ -749,12 +746,12 @@ writeprivs(struct quotalist *qlist, int
HN_NOSPACE, Hflag),
intprt(b3, 21, q[QO_FL].qv_hardlimit,
HN_NOSPACE, Hflag));
- if (qup->flags & XGRACE)
+ if (qup->xgrace)
fprintf(fd, ", ");
} else
fprintf(fd, "\tinodes: (");
- if (qup->flags & (XGRACE|DEFAULT)) {
+ if (qup->xgrace || qup->isdefault) {
fprintf(fd, "grace = %s",
timepprt(b0, 21, q[QO_FL].qv_grace, Hflag));
}
@@ -943,7 +940,7 @@ readprivs(struct quotalist *qlist, int i
if (version == 1 && dflag) {
q[QO_BLK].qv_grace = graceb;
q[QO_FL].qv_grace = gracei;
- qup->flags |= FOUND;
+ qup->found = 1;
continue;
}
@@ -981,7 +978,7 @@ readprivs(struct quotalist *qlist, int i
q[QO_FL].qv_hardlimit = hardi;
if (version == 2)
q[QO_FL].qv_grace = gracei;
- qup->flags |= FOUND;
+ qup->found = 1;
}
}
out:
@@ -991,8 +988,8 @@ out:
*/
for (qup = qlist->head; qup; qup = qup->next) {
struct quotaval *q = qup->qv;
- if (qup->flags & FOUND) {
- qup->flags &= ~FOUND;
+ if (qup->found) {
+ qup->found = 0;
continue;
}
q[QO_BLK].qv_softlimit = UQUAD_MAX;