prop_object_iterator_t iter;
prop_dictionary_t item;
uint32_t id;
- uint64_t space;
+ uint64_t space, limit=0;
char hbuf[5];
args = prop_dictionary_create();
while ((item = prop_object_iterator_next(iter)) != NULL) {
rv = prop_dictionary_get_uint64(item, "space used", &space);
+ rv = prop_dictionary_get_uint64(item, "limit", &limit);
if (prop_dictionary_get_uint32(item, "uid", &id))
print_user(id);
else if (prop_dictionary_get_uint32(item, "gid", &id))
printf("total:");
if (flag_humanize) {
humanize_number(hbuf, sizeof(hbuf), space, "", HN_AUTOSCALE, HN_NOSPACE);
- printf(" %s\n", hbuf);
+ printf(" %s", hbuf);
+ } else {
+ printf(" %"PRIu64, space);
+ }
+ if (limit == 0) {
+ printf("\n");
+ continue;
+ }
+ if (flag_humanize) {
+ humanize_number(hbuf, sizeof(hbuf), limit, "", HN_AUTOSCALE, HN_NOSPACE);
+ printf(", limit = %s\n", hbuf);
} else {
- printf(" %" PRIu64 "\n", space);
+ printf(", limit = %"PRIu64"\n", limit);
}
}
prop_object_iterator_release(iter);
item = prop_dictionary_create();
(void) prop_dictionary_set_uint64(item, "space used", mp->mnt_acct.ac_bytes);
+ (void) prop_dictionary_set_uint64(item, "limit", mp->mnt_acct.ac_limit);
prop_array_add_and_rel(dict_out, item);
RB_FOREACH(unp, ac_utree, &mp->mnt_acct.ac_uroot) {
(unp->left_bits << ACCT_CHUNK_BITS) + i);
(void) prop_dictionary_set_uint64(item, "space used",
unp->uid_chunk[i].space);
+ (void) prop_dictionary_set_uint64(item, "limit",
+ unp->uid_chunk[i].limit);
prop_array_add_and_rel(dict_out, item);
}
}
(gnp->left_bits << ACCT_CHUNK_BITS) + i);
(void) prop_dictionary_set_uint64(item, "space used",
gnp->gid_chunk[i].space);
+ (void) prop_dictionary_set_uint64(item, "limit",
+ gnp->gid_chunk[i].limit);
prop_array_add_and_rel(dict_out, item);
}
}