bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sc_prohibit_magic_number_exit false positive on string


From: Darshit Shah
Subject: Re: sc_prohibit_magic_number_exit false positive on string
Date: Wed, 11 Sep 2019 18:23:04 +0200
User-agent: NeoMutt/20180716

* Jim Meyering <address@hidden> [190908 17:19]:
> On Sun, Sep 8, 2019 at 6:06 AM Darshit Shah <address@hidden> wrote:
> > I just realized that the syntax check rule sc_prohibit_magic_number_exit 
> > will
> > cause a false positive when it finds the relevant tokens within a string as
> > well.
> >
> > For example, in Wget, we have the following snippet in our tests which trips
> > this rule:
> >
> > > WGET_TEST_EXPECTED_FILES, &(wget_test_file_t []) {
> > >       { "exit-status.txt", "exit(8)\n" },
> > >       {       NULL } },
> >
> > I made a very tiny change to the rule in maint.mk(L408) to account for this:
> >
> > -exclude='exit \(77\)|error ?\(((0|77),|[^,]*)'         \
> > +exclude='exit \(77\)|error ?\(((0|77),|[^,]*)|"(usage|exit|error).*"'      
> >     \
> 
> Hi Darshit, that feels a little too specific.
> Did you consider exempting that file from this one check?
> You can do that by adding a line like the following to cfg.mk:
> 
> exclude_file_name_regexp--sc_prohibit_magic_number_exit =
> offending-file-regexp\.c$$

I agree that my solution is a little too specific. I did not intend for it to
be applied as-is. However, I think it makes sense that the syntax-check rules
check to make sure that the token is not found within a string.

Ideally, you'd update the except regex like I did to check if it's a string
literal, a comment or multi-line variants of those.

-- 
Thanking You,
Darshit Shah
PGP Fingerprint: 7845 120B 07CB D8D6 ECE5 FF2B 2A17 43ED A91A 35B6

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]