Wireshark mailing list archives

Re: pre-commit error: extcap.c: error: found these preference variables used in more than one prefs_register_*_preference:


From: João Valverde <j () v6e pt>
Date: Wed, 22 Dec 2021 10:55:07 +0000

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 () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: