Module Name: src
Committed By: bouyer
Date: Sun Mar 27 17:15:17 UTC 2011
Modified Files:
src/usr.sbin/repquota: repquota.c
Log Message:
Make sure to not report quotas for a class if we didn't get valid datas
from kernel.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 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.sbin/repquota/repquota.c
diff -u src/usr.sbin/repquota/repquota.c:1.30 src/usr.sbin/repquota/repquota.c:1.31
--- src/usr.sbin/repquota/repquota.c:1.30 Thu Mar 24 17:05:47 2011
+++ src/usr.sbin/repquota/repquota.c Sun Mar 27 17:15:17 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: repquota.c,v 1.30 2011/03/24 17:05:47 bouyer Exp $ */
+/* $NetBSD: repquota.c,v 1.31 2011/03/27 17:15:17 bouyer Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
@@ -42,7 +42,7 @@
#if 0
static char sccsid[] = "@(#)repquota.c 8.2 (Berkeley) 11/22/94";
#else
-__RCSID("$NetBSD: repquota.c,v 1.30 2011/03/24 17:05:47 bouyer Exp $");
+__RCSID("$NetBSD: repquota.c,v 1.31 2011/03/27 17:15:17 bouyer Exp $");
#endif
#endif /* not lint */
@@ -284,8 +284,9 @@
if (dataiter == NULL)
err(1, "prop_array_iterator");
- valid[class] = 1;
+ valid[class] = 0;
while ((data = prop_object_iterator_next(dataiter)) != NULL) {
+ valid[class] = 1;
strid = NULL;
if (!prop_dictionary_get_uint32(data, "id", &id)) {
if (!prop_dictionary_get_cstring_nocopy(data,
@@ -317,7 +318,7 @@
}
prop_object_iterator_release(cmditer);
prop_object_release(dict);
- if (xflag == 0)
+ if (xflag == 0 && valid[class])
printquotas(class, vfs, version);
return 0;
}