When verb groups were added, I assumed that the first group will always
by the unnamed group, or in other words, that VERB_GROUP() line cannot
appear first. This provides an additional check on the whether the verbs
haven't been reordered by the compiler or linker. But that check is weak
and we can do a better check anyway. And this limitation is unexpected,
since we allow that for OPTIONs. The code should all work without an
unnamed group, once this assertion is removed.
assert(verbs);
assert(verbs_end > verbs);
- assert(verbs[0].dispatch);
assert(verbs[0].verb);
const char *name = args ? args[0] : NULL;
if (r < 0)
return log_oom();
}
+ assert(!strv_isempty(verb_strv)); /* At least one verb should be defined… */
if (name) {
/* Be more helpful to the user, and give a hint what the user might have wanted to type. */
"Command verb required (one of %s).", joined);
}
- return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Command verb '%s' required.", verbs[0].verb);
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Command verb '%s' required.", verb_strv[0]);
}
if (!name)