aboutsummaryrefslogtreecommitdiffstats
path: root/rawshark.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2017-05-25 00:28:45 +0200
committerMichael Mann <mmann78@netscape.net>2017-05-26 17:31:01 +0000
commitc9b0e9c81335e098cdb256b1c58597cda96703b1 (patch)
treef0e2f87b53b2b9e45e90fb4c5195f008beb7e1dc /rawshark.c
parent940165933fea699b7592ea2b5f128bac27b443b5 (diff)
Report syntax errors in UAT prefs parsing
Add the cause for a syntax error while parsing UATs. Example output: $ tshark -ouat:ssl_keys:, tshark: Invalid -o flag "uat:ssl_keys:,": ssl_keys:1: No IP address given. $ tshark -ouat:unknown:, tshark: Invalid -o flag "uat:unknown:,": Unknown preference Change-Id: I549406c4e31a81d29f487ef47bdb3c22da084947 Reviewed-on: https://code.wireshark.org/review/21748 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'rawshark.c')
-rw-r--r--rawshark.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/rawshark.c b/rawshark.c
index bcb2f8ca5d..6454ab1a78 100644
--- a/rawshark.c
+++ b/rawshark.c
@@ -370,6 +370,7 @@ set_link_type(const char *lt_arg) {
long val;
dissector_handle_t dhandle;
GString *pref_str;
+ char *errmsg = NULL;
if (!spec_ptr)
return FALSE;
@@ -410,8 +411,9 @@ set_link_type(const char *lt_arg) {
g_string_append_printf(pref_str,
"\"User 0 (DLT=147)\",\"%s\",\"0\",\"\",\"0\",\"\"",
spec_ptr);
- if (prefs_set_pref(pref_str->str) != PREFS_SET_OK) {
+ if (prefs_set_pref(pref_str->str, &errmsg) != PREFS_SET_OK) {
g_string_free(pref_str, TRUE);
+ g_free(errmsg);
return FALSE;
}
g_string_free(pref_str, TRUE);
@@ -620,13 +622,18 @@ main(int argc, char *argv[])
}
break;
case 'o': /* Override preference from command line */
- switch (prefs_set_pref(optarg)) {
+ {
+ char *errmsg = NULL;
+
+ switch (prefs_set_pref(optarg, &errmsg)) {
case PREFS_SET_OK:
break;
case PREFS_SET_SYNTAX_ERR:
- cmdarg_err("Invalid -o flag \"%s\"", optarg);
+ cmdarg_err("Invalid -o flag \"%s\"%s%s", optarg,
+ errmsg ? ": " : "", errmsg ? errmsg : "");
+ g_free(errmsg);
ret = INVALID_OPTION;
goto clean_exit;
break;
@@ -639,6 +646,7 @@ main(int argc, char *argv[])
break;
}
break;
+ }
case 'p': /* Expect pcap_pkthdr packet headers, which may have 64-bit timestamps */
want_pcap_pkthdr = TRUE;
break;