* Jim Meyering <j...@meyering.net> [190908 17:19]: > On Sun, Sep 8, 2019 at 6:06 AM Darshit Shah <dar...@gnu.org> 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