diff options
author | Guy Harris <guy@alum.mit.edu> | 2016-12-04 13:42:07 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2016-12-04 21:42:44 +0000 |
commit | ab07f8e0f89eb1bb2c2c61c71e44e3fd0e31cc52 (patch) | |
tree | 20210444e46c0c198c62d47fa6619ce8cfd832f0 /wiretap/wtap.c | |
parent | 51d23c6959edfbf45033ba26237820fa2914ff77 (diff) | |
download | wireshark-ab07f8e0f89eb1bb2c2c61c71e44e3fd0e31cc52.tar.gz |
Have a routine to do all the work of initializing libwiretap.
Have programs that use libwiretap call that routine rather than
separately calling some or all of init_open_routines(),
wtap_register_plugin_types(), and wtap_opttypes_initialize().
Also don't have routines internal to libwiretap call those. Yes, this
means doing some initialization work when it isn't necessary, but
scattering on-demand calls throughout the code is a great way to forget
to make those calls.
Change-Id: I5828e1c5591c9d94fbb3eb0a0e54591e8fc61710
Reviewed-on: https://code.wireshark.org/review/19069
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'wiretap/wtap.c')
-rw-r--r-- | wiretap/wtap.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/wiretap/wtap.c b/wiretap/wtap.c index ef9d709604..e14953b624 100644 --- a/wiretap/wtap.c +++ b/wiretap/wtap.c @@ -77,12 +77,9 @@ DIAG_ON(pedantic) return TRUE; } -void +static void wtap_register_plugin_types(void) { - /* Piggyback the initialization here for now */ - wtap_opttypes_initialize(); - add_plugin_type("libwiretap", check_for_wtap_plugin); } @@ -940,14 +937,12 @@ static void wtap_init_encap_types(void) { } int wtap_get_num_encap_types(void) { - wtap_init_encap_types(); return wtap_num_encap_types; } int wtap_register_encap_type(const char* name, const char* short_name) { struct encap_type_info e; - wtap_init_encap_types(); e.name = g_strdup(name); e.short_name = g_strdup(short_name); @@ -1420,6 +1415,20 @@ wtap_seek_read(wtap *wth, gint64 seek_off, } /* + * Initialize the library. + */ +void +wtap_init(void) +{ + init_open_routines(); + wtap_opttypes_initialize(); + wtap_init_encap_types(); +#ifdef HAVE_PLUGINS + wtap_register_plugin_types(); +#endif +} + +/* * Editor modelines - http://www.wireshark.org/tools/modelines.html * * Local variables: |