diff options
author | Michal Labedzki <michal.labedzki@tieto.com> | 2014-01-18 15:20:02 +0100 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2014-02-25 17:43:13 +0000 |
commit | 579e7e19ce8e5f1a6e16b75f130ad4b001157ca5 (patch) | |
tree | 423547b0256e93647f98710cf14e15e112f7f73f /tshark.c | |
parent | b6aae8d5c470aa681b70f33cad064dbb7045b3b7 (diff) | |
download | wireshark-579e7e19ce8e5f1a6e16b75f130ad4b001157ca5.tar.gz |
Wireshark: Add option to choose format type of capture file
The best heuristic can fail, so add possibility to manually choose
capture file format type, so not correctly recognize file format can be
loaded in Wireshark.
On the other side now it is possible to open capture file
as file format to be dissected.
Change-Id: I5a9f662b32ff7e042f753a92eaaa86c6e41f400a
Reviewed-on: https://code.wireshark.org/review/16
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'tshark.c')
-rw-r--r-- | tshark.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1110,6 +1110,8 @@ main(int argc, char *argv[]) timestamp_set_precision(TS_PREC_AUTO); timestamp_set_seconds_type(TS_SECONDS_DEFAULT); + init_open_routines(); + #ifdef HAVE_PLUGINS /* Register all the plugin types we have. */ epan_register_plugin_types(); /* Types known to libwireshark */ @@ -1999,7 +2001,7 @@ main(int argc, char *argv[]) relinquish_special_privs_perm(); print_current_user(); - if (cf_open(&cfile, cf_name, FALSE, &err) != CF_OK) { + if (cf_open(&cfile, cf_name, WTAP_TYPE_AUTO, FALSE, &err) != CF_OK) { epan_cleanup(); return 2; } @@ -2594,7 +2596,7 @@ capture_input_new_file(capture_session *cap_session, gchar *new_file) /* if we are in real-time mode, open the new file now */ if (do_dissection) { /* Attempt to open the capture file and set up to read from it. */ - switch(cf_open((capture_file *)cap_session->cf, capture_opts->save_file, is_tempfile, &err)) { + switch(cf_open((capture_file *)cap_session->cf, capture_opts->save_file, WTAP_TYPE_AUTO, is_tempfile, &err)) { case CF_OK: break; case CF_ERROR: @@ -3945,13 +3947,13 @@ write_finale(void) } cf_status_t -cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err) +cf_open(capture_file *cf, const char *fname, unsigned int type, gboolean is_tempfile, int *err) { wtap *wth; gchar *err_info; char err_msg[2048+1]; - wth = wtap_open_offline(fname, err, &err_info, perform_two_pass_analysis); + wth = wtap_open_offline(fname, type, err, &err_info, perform_two_pass_analysis); if (wth == NULL) goto fail; |