Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > This function will be used in the next commits to allow the user to > ask fsck to handle specific problems differently, e.g. demoting certain > errors to warnings. It has to handle partial strings because we would > like to be able to parse, say, '--strict=missing-email=warn' command > lines. > > To make the parsing robust, we generate strings from the enum keys, and we > will match both lower-case, dash-separated values as well as camelCased > ones (e.g. both "missing-email" and "missingEmail" will match the > "MISSING_EMAIL" key). > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > fsck.c | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/fsck.c b/fsck.c > index 3cea034..05b146c 100644 > --- a/fsck.c > +++ b/fsck.c > @@ -63,6 +63,38 @@ enum fsck_msg_id { > FSCK_MSG_MAX > }; > > +#define STR(x) #x > +#define MSG_ID_STR(x) STR(x), > +static const char *msg_id_str[FSCK_MSG_MAX + 1] = { > + FOREACH_MSG_ID(MSG_ID_STR) > + NULL > +}; I wondered what the ugly macro was in the previous step, but as a way to keep these two lists in sync it makes sense. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html