Johannes Schindelin <johannes.schinde...@gmx.de> 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.schinde...@gmx.de>
> ---
>  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to