summaryrefslogtreecommitdiff
path: root/wiretap/wtap.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2016-12-04 13:42:07 -0800
committerGuy Harris <guy@alum.mit.edu>2016-12-04 21:42:44 +0000
commitab07f8e0f89eb1bb2c2c61c71e44e3fd0e31cc52 (patch)
tree20210444e46c0c198c62d47fa6619ce8cfd832f0 /wiretap/wtap.c
parent51d23c6959edfbf45033ba26237820fa2914ff77 (diff)
downloadwireshark-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.c21
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: