const Verb *verb;
const char *name;
unsigned i;
- int left, r;
+ int left;
assert(verbs);
assert(verbs[0].dispatch);
left = 1;
if (verb->min_args != VERB_ANY &&
- (unsigned) left < verb->min_args) {
- log_error("Too few arguments.");
- return -EINVAL;
- }
+ (unsigned) left < verb->min_args)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "Too few arguments.");
if (verb->max_args != VERB_ANY &&
- (unsigned) left > verb->max_args) {
- log_error("Too many arguments.");
- return -EINVAL;
- }
+ (unsigned) left > verb->max_args)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "Too many arguments.");
if ((verb->flags & VERB_ONLINE_ONLY) && running_in_chroot_or_offline()) {
if (name)
return 0;
}
- if (verb->flags & VERB_MUST_BE_ROOT) {
- r = must_be_root();
- if (r < 0)
- return r;
- }
-
if (name)
return verb->dispatch(left, argv, userdata);
else {