Re: [PATCH 03/18] Provide a function to parse fsck message IDs
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Dec 22, 2014, 21:27 UTC
- Message-ID
- <alpine.DEB.1.00.1412221836480.21312@s15462909.onlinehome-server.info>
- In-Reply-To
- <xmqqsignie2k.fsf@gitster.dls.corp.google.com>
Hi Junio,
On Wed, 10 Dec 2014, Junio C Hamano wrote:
Show 35 quoted lines
> Johannes Schindelin <johannes.schindelin@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.schindelin@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.I added a comment to the commit message.
Ciao, Dscho