Suppress another warning if told not to report failures.

That's another failure that can occur if you're trying to load a
libwireshark plugin in a program that doesn't use libwireshark if, for
example, references to an undefined symbol don't prevent the module from
being loaded in the first place.

Change-Id: I21629c0094fdca7dfbd88f39b7e6c10fb600b401
Reviewed-on: https://code.wireshark.org/review/17537
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2016-09-06 10:14:12 -07:00
parent 7a674c006b
commit 295dbc609d
1 changed files with 17 additions and 2 deletions

View File

@ -219,9 +219,24 @@ plugins_scan_dir(const char *dirname, plugin_load_failure_mode mode)
{
/*
* No.
*
* Only report this failure if we were asked to; it might
* just mean that it's a plugin type that this program
* doesn't support, such as a libwireshark plugin in
* a program that doesn't use libwireshark.
*
* XXX - we really should put different types of plugins
* (libwiretap, libwireshark) in different subdirectories,
* give libwiretap and libwireshark init routines that
* load the plugins, and have them scan the appropriate
* subdirectories so tha we don't even *try* to, for
* example, load libwireshark plugins in programs that
* only use libwiretap.
*/
report_failure("The plugin '%s' has no registration routines",
name);
if (mode == REPORT_LOAD_FAILURE) {
report_failure("The plugin '%s' has no registration routines",
name);
}
g_module_close(handle);
g_free(new_plug->name);
g_free(new_plug);