summaryrefslogtreecommitdiff
path: root/rawshark.c
diff options
context:
space:
mode:
authorRoland Knall <roland.knall@br-automation.com>2015-12-29 07:57:36 +0100
committerMichael Mann <mmann78@netscape.net>2016-07-29 03:15:54 +0000
commit485bc456c57a16dbe50b76c476e48223038bb0e8 (patch)
tree5fabaa4504ccce8a08ddd23d8bbb8f9aaf60935a /rawshark.c
parent191f9bdbc50bd3993259d31dfeeaa95187984fed (diff)
downloadwireshark-485bc456c57a16dbe50b76c476e48223038bb0e8.tar.gz
extcap: Restore functionality for options
Allow stored options to be restored to their default values. This adds a global cleanup method for extcap and globally defined preference values, which fixes the parameter problem with windows Change-Id: I48e0cf846ef81f4732d652c6a2ad0020db5df08e Reviewed-on: https://code.wireshark.org/review/13741 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Roland Knall <rknall@gmail.com>
Diffstat (limited to 'rawshark.c')
-rw-r--r--rawshark.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/rawshark.c b/rawshark.c
index ebfbea4f56..fe68b76f92 100644
--- a/rawshark.c
+++ b/rawshark.c
@@ -96,6 +96,10 @@
#include "caputils/capture-pcap-util.h"
+#ifdef HAVE_EXTCAP
+#include "extcap.h"
+#endif
+
#ifdef HAVE_LIBPCAP
#include <setjmp.h>
#ifdef _WIN32
@@ -798,6 +802,9 @@ main(int argc, char *argv[])
cmdarg_err("%s", err_msg);
g_free(err_msg);
epan_free(cfile.epan);
+#ifdef HAVE_EXTCAP
+ extcap_cleanup();
+#endif
epan_cleanup();
exit(2);
}
@@ -819,6 +826,9 @@ main(int argc, char *argv[])
if (raw_cf_open(&cfile, pipe_name) != CF_OK) {
epan_free(cfile.epan);
+#ifdef HAVE_EXTCAP
+ extcap_cleanup();
+#endif
epan_cleanup();
exit(2);
}
@@ -840,6 +850,9 @@ main(int argc, char *argv[])
/* Process the packets in the file */
if (!load_cap_file(&cfile)) {
epan_free(cfile.epan);
+#ifdef HAVE_EXTCAP
+ extcap_cleanup();
+#endif
epan_cleanup();
exit(2);
}
@@ -850,6 +863,9 @@ main(int argc, char *argv[])
}
epan_free(cfile.epan);
+#ifdef HAVE_EXTCAP
+ extcap_cleanup();
+#endif
epan_cleanup();
return 0;