Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Adjust code added in 929d9192828 (git docs: split "User-facing file > formats" off from "Guides", 2021-06-04) to be more strict about the > prefix trimming of the "guides" category. > > There are no guides in the command-list.txt that don't start with > "git", and we're unlikely to ever add any, if we do we can remove this > BUG() invocation, but in the meantime this makes the intent more > clear. The observation is good. > if (skip_prefix(name, "git-", &new_name)) > return new_name; > - if (category == CAT_guide && skip_prefix(name, "git", &new_name)) > + switch (category) > + { > + case CAT_guide: > + if (!skip_prefix(name, "git", &new_name)) > + BUG("category #%d but no 'git' prefix?", category); > return new_name; > + } > return name; > - > } If we were to use "switch", can we have the opening brace on the same line, like all other switch statements? I suspect that we should avoid losing information, perhaps the most straight-forward implementation would be without "switch", like so if (category == CAT_guide) { if (skip_prefix(name, "git", &new_name)) return new_name; BUG("CAT_guide category but no 'git' prefix? '%s'", name); } return name; even if we plan to add more categories that would remove the prefix and we insist the prefix to be there? > static void extract_cmds(struct cmdname_help **p_cmds, uint32_t mask)