Module Name:    src
Committed By:   dholland
Date:           Wed Feb  1 17:48:11 UTC 2012

Modified Files:
        src/usr.bin/quota: quota.c
        src/usr.sbin/repquota: repquota.c

Log Message:
Simplify elaborate calls to quota_check_limit().


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/usr.bin/quota/quota.c
cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/repquota/repquota.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.bin/quota/quota.c
diff -u src/usr.bin/quota/quota.c:1.46 src/usr.bin/quota/quota.c:1.47
--- src/usr.bin/quota/quota.c:1.46	Mon Jan 30 16:46:30 2012
+++ src/usr.bin/quota/quota.c	Wed Feb  1 17:48:10 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: quota.c,v 1.46 2012/01/30 16:46:30 dholland Exp $	*/
+/*	$NetBSD: quota.c,v 1.47 2012/02/01 17:48:10 dholland Exp $	*/
 
 /*
  * Copyright (c) 1980, 1990, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
 #if 0
 static char sccsid[] = "@(#)quota.c	8.4 (Berkeley) 4/28/95";
 #else
-__RCSID("$NetBSD: quota.c,v 1.46 2012/01/30 16:46:30 dholland Exp $");
+__RCSID("$NetBSD: quota.c,v 1.47 2012/02/01 17:48:10 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -610,46 +610,31 @@ anyover(struct quotaval *qvs, unsigned n
 static int
 isover(struct quotaval *qv, time_t now)
 {
-	int ql_stat;
-
-	ql_stat = quota_check_limit(qv->qv_usage, 1,
-				    qv->qv_softlimit,
-				    qv->qv_hardlimit,
-				    qv->qv_expiretime, now);
-	switch(QL_STATUS(ql_stat)) {
-	    case QL_S_DENY_HARD:
-	    case QL_S_DENY_GRACE:
-	    case QL_S_ALLOW_SOFT:
-		return 1;
-	    default:
-		break;
-	}
-	return 0;
+	return (qv->qv_usage >= qv->qv_hardlimit ||
+		qv->qv_usage >= qv->qv_softlimit);
 }
 
 static const char *
 getovermsg(struct quotaval *qv, const char *what, time_t now)
 {
 	static char buf[64];
-	int ql_stat;
 
-	ql_stat = quota_check_limit(qv->qv_usage, 1,
-				    qv->qv_softlimit,
-				    qv->qv_hardlimit,
-				    qv->qv_expiretime, now);
-	switch(QL_STATUS(ql_stat)) {
-	    case QL_S_DENY_HARD:
+	if (qv->qv_usage >= qv->qv_hardlimit) {
 		snprintf(buf, sizeof(buf), "%c%s limit reached on",
 			 toupper((unsigned char)what[0]), what+1);
-		break;
-	    case QL_S_DENY_GRACE:
-		snprintf(buf, sizeof(buf), "Over %s quota on", what);
-		break;
-	    case QL_S_ALLOW_SOFT:
-		snprintf(buf, sizeof(buf), "In %s grace period on", what);
-		break;
-	    default:
+		return buf;
+	}
+
+	if (qv->qv_usage < qv->qv_softlimit) {
+		/* Ok */
 		return NULL;
 	}
+
+	if (now > qv->qv_expiretime) {
+		snprintf(buf, sizeof(buf), "Over %s quota on", what);
+		return buf;
+	}
+
+	snprintf(buf, sizeof(buf), "In %s grace period on", what);
 	return buf;
 }

Index: src/usr.sbin/repquota/repquota.c
diff -u src/usr.sbin/repquota/repquota.c:1.40 src/usr.sbin/repquota/repquota.c:1.41
--- src/usr.sbin/repquota/repquota.c:1.40	Wed Feb  1 05:12:45 2012
+++ src/usr.sbin/repquota/repquota.c	Wed Feb  1 17:48:10 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: repquota.c,v 1.40 2012/02/01 05:12:45 dholland Exp $	*/
+/*	$NetBSD: repquota.c,v 1.41 2012/02/01 17:48:10 dholland Exp $	*/
 
 /*
  * Copyright (c) 1980, 1990, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
 #if 0
 static char sccsid[] = "@(#)repquota.c	8.2 (Berkeley) 11/22/94";
 #else
-__RCSID("$NetBSD: repquota.c,v 1.40 2012/02/01 05:12:45 dholland Exp $");
+__RCSID("$NetBSD: repquota.c,v 1.41 2012/02/01 17:48:10 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -118,6 +118,7 @@ static void	usage(void) __attribute__((_
 static void	printquotas(int, struct quotahandle *);
 static void	exportquotas(void);
 static int	oneof(const char *, char *[], int cnt);
+static int isover(struct quotaval *qv, time_t now);
 
 int
 main(int argc, char **argv)
@@ -330,17 +331,11 @@ printquotas(int idtype, struct quotahand
 		if (fup == 0)
 			continue;
 		for (i = 0; i < REPQUOTA_NUMOBJTYPES; i++) {
-			switch (QL_STATUS(quota_check_limit(q[i].qv_usage, 1,
-			    q[i].qv_softlimit, q[i].qv_hardlimit,
-			    q[i].qv_expiretime, now))) {
-			case QL_S_DENY_HARD:
-			case QL_S_DENY_GRACE:
-			case QL_S_ALLOW_SOFT:
+			if (isover(&q[i], now)) {
 				timemsg[i] = timeprt(b0[i], 8, now,
 				    q[i].qv_expiretime);
 				overchar[i] = '+';
-				break;
-			default:
+			} else {
 				if (vflag && q[i].qv_grace != QUOTA_NOTIME) {
 					timemsg[i] = timeprt(b0[i], 8, 0,
 							     q[i].qv_grace);
@@ -348,7 +343,6 @@ printquotas(int idtype, struct quotahand
 					timemsg[i] = "";
 				}
 				overchar[i] = '-';
-				break;
 			}
 		}
 
@@ -571,3 +565,10 @@ oneof(const char *target, char *list[], 
 			return i;
 	return -1;
 }
+
+static int
+isover(struct quotaval *qv, time_t now)
+{ 
+	return (qv->qv_usage >= qv->qv_hardlimit ||
+		qv->qv_usage >= qv->qv_softlimit);
+} 

Reply via email to