- if (arg)
- return strbuf_addf_ret(err, -1, _("%%(objectsize) does not take arguments"));
- if (*atom->name == '*')
- oi_deref.info.sizep = &oi_deref.size;
- else
- oi.info.sizep = &oi.size;
+ if (!arg) {
+ if (*atom->name == '*')
+ oi_deref.info.sizep = &oi_deref.size;
+ else
+ oi.info.sizep = &oi.size;
+ } else if (!strcmp(arg, "disk")) {
+ if (*atom->name == '*')
+ oi_deref.info.disk_sizep = &oi_deref.disk_size;
+ else
+ oi.info.disk_sizep = &oi.disk_size;
+ } else
+ return strbuf_addf_ret(err, -1, _("unrecognized %%(objectsize) argument: %s"), arg);