[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
signature.asc
Description: PGP signature