This was added in commit 1089bdb7d4911a5508f86a0eea59418b424b265c.
Catches mistakes where the same variable is populated by multiple
preferences:
prefs_register_bool_preference(epl_module, "show_soc_flags",
"text1", "desc1",
&show_soc_flags);
prefs_register_bool_preference(epl_module, "show_soa_flags",
"text2", "desc2",
&show_soc_flags);
The problem is that the script is naive, because it assumes that if a
variable appears in more than one call in the source code it will be
used more than once in compiled code, which is clearly not the case.
It's a limitation of trying to parse C using regular expressions. I
think you should just remove the check in checkAPIs.pl.
On 22/12/21 10:22, Jirka Novak wrote:
Hi,
I'm working on !5519 - Prefs/Extcap: Added support for password
which is never stored on the disk.
It is done and working, but I can't pass pre-commit check. It says:
$ bash ./tools/pre-commit 'HEAD^1'
extcap.c: error: found these preference variables used in more than
one prefs_register_*_preference:
(const char **)arg->pref_valptr
which is caused by tools/checkAPIs.pl
The error is caused by code:
if (arg->arg_type == EXTCAP_ARG_PASSWORD)
{
prefs_register_password_preference(dev_module, pref_name_for_prefs,
pref_title, pref_title, (const char **)arg->pref_valptr);
} else {
prefs_register_string_preference(dev_module, pref_name_for_prefs,
pref_title, pref_title, (const char **)arg->pref_valptr);
}
The code is correct. I briefly checked checkAPIs.pl and I don't
understand aim of the check so I don't know how to resolve it.
Can I ask for help?
Best regards,
Jirka Novak
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives: https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe