diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/CMakeLists.txt | 2 | ||||
-rw-r--r-- | ui/cli/tap-camelsrt.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-diameter-avp.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-endpoints.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-exportobject.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-hosts.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-httpstat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-icmpstat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-icmpv6stat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-iousers.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-protocolinfo.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-protohierstat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-rpcprogs.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-rtd.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-rtspstat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-sctpchunkstat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-simple_stattable.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-sipstat.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-smbsids.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-srt.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-sv.c | 2 | ||||
-rw-r--r-- | ui/cli/tap-wspstat.c | 2 | ||||
-rw-r--r-- | ui/clopts_common.c | 121 | ||||
-rw-r--r-- | ui/clopts_common.h | 37 | ||||
-rw-r--r-- | ui/cmdarg_err.c | 66 | ||||
-rw-r--r-- | ui/cmdarg_err.h | 47 | ||||
-rw-r--r-- | ui/commandline.c | 4 | ||||
-rw-r--r-- | ui/decode_as_utils.c | 2 | ||||
-rw-r--r-- | ui/dissect_opts.c | 4 | ||||
-rw-r--r-- | ui/failure_message.c | 2 | ||||
-rw-r--r-- | ui/qt/main.cpp | 4 |
31 files changed, 302 insertions, 29 deletions
diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt index b73e73c746..60d9bc9b81 100644 --- a/ui/CMakeLists.txt +++ b/ui/CMakeLists.txt @@ -11,6 +11,8 @@ set(NONGENERATED_UI_SRC alert_box.c capture.c capture_ui_utils.c + clopts_common.c + cmdarg_err.c commandline.c console.c decode_as_utils.c diff --git a/ui/cli/tap-camelsrt.c b/ui/cli/tap-camelsrt.c index 4543b24d8e..f3d81269e6 100644 --- a/ui/cli/tap-camelsrt.c +++ b/ui/cli/tap-camelsrt.c @@ -24,7 +24,7 @@ #include "epan/timestats.h" #include "epan/stat_tap_ui.h" -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_camelsrt(void); diff --git a/ui/cli/tap-diameter-avp.c b/ui/cli/tap-diameter-avp.c index 26956ca993..f607ae2369 100644 --- a/ui/cli/tap-diameter-avp.c +++ b/ui/cli/tap-diameter-avp.c @@ -31,7 +31,7 @@ #include <glib.h> #include <wsutil/strtoi.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <epan/packet_info.h> #include <epan/tap.h> diff --git a/ui/cli/tap-endpoints.c b/ui/cli/tap-endpoints.c index 2becc36a79..6bf2e3c744 100644 --- a/ui/cli/tap-endpoints.c +++ b/ui/cli/tap-endpoints.c @@ -18,7 +18,7 @@ #include <epan/tap.h> #include <epan/stat_tap_ui.h> #include <epan/conversation_table.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <ui/cli/tshark-tap.h> typedef struct _endpoints_t { diff --git a/ui/cli/tap-exportobject.c b/ui/cli/tap-exportobject.c index a8c7d48e95..b4d82d2698 100644 --- a/ui/cli/tap-exportobject.c +++ b/ui/cli/tap-exportobject.c @@ -18,7 +18,7 @@ #include <string.h> #include <wsutil/file_util.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <epan/packet_info.h> #include <epan/packet.h> diff --git a/ui/cli/tap-hosts.c b/ui/cli/tap-hosts.c index 87339c23bf..00c45ab8da 100644 --- a/ui/cli/tap-hosts.c +++ b/ui/cli/tap-hosts.c @@ -21,7 +21,7 @@ #include <epan/stat_tap_ui.h> #include <epan/addr_resolv.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_hosts(void); diff --git a/ui/cli/tap-httpstat.c b/ui/cli/tap-httpstat.c index 0df566ae21..184c0d98f2 100644 --- a/ui/cli/tap-httpstat.c +++ b/ui/cli/tap-httpstat.c @@ -22,7 +22,7 @@ #include <epan/stat_tap_ui.h> #include <epan/dissectors/packet-http.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_httpstat(void); diff --git a/ui/cli/tap-icmpstat.c b/ui/cli/tap-icmpstat.c index dca35a6f86..d1dfebb77f 100644 --- a/ui/cli/tap-icmpstat.c +++ b/ui/cli/tap-icmpstat.c @@ -28,7 +28,7 @@ #include <epan/stat_tap_ui.h> #include <epan/dissectors/packet-icmp.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_icmpstat(void); diff --git a/ui/cli/tap-icmpv6stat.c b/ui/cli/tap-icmpv6stat.c index ff51397557..04bcf973a8 100644 --- a/ui/cli/tap-icmpv6stat.c +++ b/ui/cli/tap-icmpv6stat.c @@ -29,7 +29,7 @@ #include <epan/stat_tap_ui.h> #include <epan/dissectors/packet-icmp.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_icmpv6stat(void); diff --git a/ui/cli/tap-iousers.c b/ui/cli/tap-iousers.c index b375bd38b7..3da2dae8e2 100644 --- a/ui/cli/tap-iousers.c +++ b/ui/cli/tap-iousers.c @@ -16,7 +16,7 @@ #include <string.h> #include <epan/packet.h> #include <epan/timestamp.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <ui/cli/tshark-tap.h> typedef struct _io_users_t { diff --git a/ui/cli/tap-protocolinfo.c b/ui/cli/tap-protocolinfo.c index 4f6c6ee01a..e0c777b670 100644 --- a/ui/cli/tap-protocolinfo.c +++ b/ui/cli/tap-protocolinfo.c @@ -21,7 +21,7 @@ #include <epan/tap.h> #include <epan/stat_tap_ui.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_protocolinfo(void); diff --git a/ui/cli/tap-protohierstat.c b/ui/cli/tap-protohierstat.c index fd51f03c88..8009874725 100644 --- a/ui/cli/tap-protohierstat.c +++ b/ui/cli/tap-protohierstat.c @@ -20,7 +20,7 @@ #include <epan/tap.h> #include <epan/stat_tap_ui.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_protohierstat(void); diff --git a/ui/cli/tap-rpcprogs.c b/ui/cli/tap-rpcprogs.c index 59d0292428..8581850b2e 100644 --- a/ui/cli/tap-rpcprogs.c +++ b/ui/cli/tap-rpcprogs.c @@ -25,7 +25,7 @@ #include <epan/stat_tap_ui.h> #include <epan/dissectors/packet-rpc.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #define MICROSECS_PER_SEC 1000000 #define NANOSECS_PER_SEC 1000000000 diff --git a/ui/cli/tap-rtd.c b/ui/cli/tap-rtd.c index d86fded52c..ecfb58d956 100644 --- a/ui/cli/tap-rtd.c +++ b/ui/cli/tap-rtd.c @@ -19,7 +19,7 @@ #include <epan/rtd_table.h> #include <epan/timestamp.h> #include <epan/stat_tap_ui.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <ui/cli/tshark-tap.h> typedef struct _rtd_t { diff --git a/ui/cli/tap-rtspstat.c b/ui/cli/tap-rtspstat.c index cc5d58547f..3db29ceaf6 100644 --- a/ui/cli/tap-rtspstat.c +++ b/ui/cli/tap-rtspstat.c @@ -25,7 +25,7 @@ #include <epan/stat_tap_ui.h> #include <epan/dissectors/packet-rtsp.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_rtspstat(void); diff --git a/ui/cli/tap-sctpchunkstat.c b/ui/cli/tap-sctpchunkstat.c index 8ff1267380..cfb3d5376a 100644 --- a/ui/cli/tap-sctpchunkstat.c +++ b/ui/cli/tap-sctpchunkstat.c @@ -24,7 +24,7 @@ #include <epan/dissectors/packet-sctp.h> #include <epan/to_str.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_sctpstat(void); diff --git a/ui/cli/tap-simple_stattable.c b/ui/cli/tap-simple_stattable.c index 9f7cce6ff6..5d03022c08 100644 --- a/ui/cli/tap-simple_stattable.c +++ b/ui/cli/tap-simple_stattable.c @@ -16,7 +16,7 @@ #include <epan/packet.h> #include <epan/timestamp.h> #include <epan/stat_tap_ui.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <ui/cli/tshark-tap.h> typedef struct _table_stat_t { diff --git a/ui/cli/tap-sipstat.c b/ui/cli/tap-sipstat.c index 1fd5fa7674..988da5a89a 100644 --- a/ui/cli/tap-sipstat.c +++ b/ui/cli/tap-sipstat.c @@ -24,7 +24,7 @@ #include <epan/value_string.h> #include <epan/dissectors/packet-sip.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_sipstat(void); diff --git a/ui/cli/tap-smbsids.c b/ui/cli/tap-smbsids.c index 0a87faffd8..039a5acc49 100644 --- a/ui/cli/tap-smbsids.c +++ b/ui/cli/tap-smbsids.c @@ -23,7 +23,7 @@ #include <epan/value_string.h> #include <epan/dissectors/packet-smb.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_smbsids(void); diff --git a/ui/cli/tap-srt.c b/ui/cli/tap-srt.c index b9820ff8e5..5231994467 100644 --- a/ui/cli/tap-srt.c +++ b/ui/cli/tap-srt.c @@ -17,7 +17,7 @@ #include <epan/srt_table.h> #include <epan/timestamp.h> #include <epan/stat_tap_ui.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include <ui/cli/tshark-tap.h> #define NANOSECS_PER_SEC 1000000000 diff --git a/ui/cli/tap-sv.c b/ui/cli/tap-sv.c index 3c434072cd..5899777711 100644 --- a/ui/cli/tap-sv.c +++ b/ui/cli/tap-sv.c @@ -22,7 +22,7 @@ #include <epan/stat_tap_ui.h> #include <epan/dissectors/packet-sv.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_sv(void); diff --git a/ui/cli/tap-wspstat.c b/ui/cli/tap-wspstat.c index f6ecd16cf1..3f8c21c8b3 100644 --- a/ui/cli/tap-wspstat.c +++ b/ui/cli/tap-wspstat.c @@ -27,7 +27,7 @@ #include <epan/value_string.h> #include <epan/dissectors/packet-wsp.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> void register_tap_listener_wspstat(void); diff --git a/ui/clopts_common.c b/ui/clopts_common.c new file mode 100644 index 0000000000..464ab18697 --- /dev/null +++ b/ui/clopts_common.c @@ -0,0 +1,121 @@ +/* clopts_common.c + * Handle command-line arguments common to various programs + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "config.h" + +#include <stdlib.h> +#include <errno.h> + +#include <wsutil/strtoi.h> +#include <ui/cmdarg_err.h> + +#include "clopts_common.h" + +int +get_natural_int(const char *string, const char *name) +{ + gint32 number; + + if (!ws_strtoi32(string, NULL, &number)) { + if (errno == EINVAL) { + cmdarg_err("The specified %s \"%s\" isn't a decimal number", name, string); + exit(1); + } + if (number < 0) { + cmdarg_err("The specified %s \"%s\" is a negative number", name, string); + exit(1); + } + cmdarg_err("The specified %s \"%s\" is too large (greater than %d)", + name, string, number); + exit(1); + } + if (number < 0) { + cmdarg_err("The specified %s \"%s\" is a negative number", name, string); + exit(1); + } + return (int)number; +} + +int +get_positive_int(const char *string, const char *name) +{ + int number; + + number = get_natural_int(string, name); + + if (number == 0) { + cmdarg_err("The specified %s is zero", name); + exit(1); + } + + return number; +} + +guint32 +get_guint32(const char *string, const char *name) +{ + guint32 number; + + if (!ws_strtou32(string, NULL, &number)) { + if (errno == EINVAL) { + cmdarg_err("The specified %s \"%s\" isn't a decimal number", name, string); + exit(1); + } + cmdarg_err("The specified %s \"%s\" is too large (greater than %d)", + name, string, number); + exit(1); + } + return number; +} + +guint32 +get_nonzero_guint32(const char *string, const char *name) +{ + guint32 number; + + number = get_guint32(string, name); + + if (number == 0) { + cmdarg_err("The specified %s is zero", name); + exit(1); + } + + return number; +} + +double +get_positive_double(const char *string, const char *name) +{ + double number = g_ascii_strtod(string, NULL); + + if (errno == EINVAL) { + cmdarg_err("The specified %s \"%s\" isn't a floating point number", name, string); + exit(1); + } + if (number < 0.0) { + cmdarg_err("The specified %s \"%s\" is a negative number", name, string); + exit(1); + } + + return number; +} + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local Variables: + * c-basic-offset: 2 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=2 tabstop=8 expandtab: + * :indentSize=2:tabSize=8:noTabs=true: + */ diff --git a/ui/clopts_common.h b/ui/clopts_common.h new file mode 100644 index 0000000000..6b8a6504a2 --- /dev/null +++ b/ui/clopts_common.h @@ -0,0 +1,37 @@ +/* clopts_common.h + * Handle command-line arguments common to various programs + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __UI_CLOPTS_COMMON_H__ +#define __UI_CLOPTS_COMMON_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +extern int +get_natural_int(const char *string, const char *name); + +extern int +get_positive_int(const char *string, const char *name); + +extern guint32 +get_guint32(const char *string, const char *name); + +extern guint32 +get_nonzero_guint32(const char *string, const char *name); + +extern double +get_positive_double(const char *string, const char *name); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __UI_CLOPTS_COMMON_H__ */ diff --git a/ui/cmdarg_err.c b/ui/cmdarg_err.c new file mode 100644 index 0000000000..889fa603c6 --- /dev/null +++ b/ui/cmdarg_err.c @@ -0,0 +1,66 @@ +/* cmdarg_err.c + * Routines to report command-line argument errors. + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "config.h" + +#include "cmdarg_err.h" + +static void (*print_err)(const char *, va_list ap); +static void (*print_err_cont)(const char *, va_list ap); + +/* + * Set the reporting functions for error messages. + */ +void +cmdarg_err_init(void (*err)(const char *, va_list), + void (*err_cont)(const char *, va_list)) +{ + print_err = err; + print_err_cont = err_cont; +} + +/* + * Report an error in command-line arguments. + */ +void +cmdarg_err(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + print_err(fmt, ap); + va_end(ap); +} + +/* + * Report additional information for an error in command-line arguments. + */ +void +cmdarg_err_cont(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + print_err_cont(fmt, ap); + va_end(ap); +} + +/* + * Editor modelines - http://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ diff --git a/ui/cmdarg_err.h b/ui/cmdarg_err.h new file mode 100644 index 0000000000..96328a0b66 --- /dev/null +++ b/ui/cmdarg_err.h @@ -0,0 +1,47 @@ +/* cmdarg_err.h + * Declarations of routines to report command-line argument errors. + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __UI_CMDARG_ERR_H__ +#define __UI_CMDARG_ERR_H__ + +#include <stdarg.h> + +#include <glib.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* + * Set the reporting functions for error messages. + */ +extern void +cmdarg_err_init(void (*err)(const char *, va_list), + void (*err_cont)(const char *, va_list)); + +/* + * Report an error in command-line arguments. + */ +extern void +cmdarg_err(const char *fmt, ...) + G_GNUC_PRINTF(1, 2); + +/* + * Report additional information for an error in command-line arguments. + */ +extern void +cmdarg_err_cont(const char *fmt, ...) + G_GNUC_PRINTF(1, 2); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __UI_CMDARG_ERR_H__ */ diff --git a/ui/commandline.c b/ui/commandline.c index fc3c375a03..7855661654 100644 --- a/ui/commandline.c +++ b/ui/commandline.c @@ -26,8 +26,8 @@ #include <version_info.h> -#include <wsutil/clopts_common.h> -#include <wsutil/cmdarg_err.h> +#include <ui/clopts_common.h> +#include <ui/cmdarg_err.h> #include <wsutil/filesystem.h> #include <epan/ex-opt.h> diff --git a/ui/decode_as_utils.c b/ui/decode_as_utils.c index 3315623c16..30ca1096e1 100644 --- a/ui/decode_as_utils.c +++ b/ui/decode_as_utils.c @@ -23,7 +23,7 @@ #include "wsutil/file_util.h" #include "wsutil/filesystem.h" -#include "wsutil/cmdarg_err.h" +#include "ui/cmdarg_err.h" #include "version_info.h" /* XXX - We might want to switch this to a UAT */ diff --git a/ui/dissect_opts.c b/ui/dissect_opts.c index c6aa77165c..bfcf1c928f 100644 --- a/ui/dissect_opts.c +++ b/ui/dissect_opts.c @@ -30,8 +30,8 @@ #include <epan/dissectors/read_keytab_file.h> #endif -#include <wsutil/clopts_common.h> -#include <wsutil/cmdarg_err.h> +#include <ui/clopts_common.h> +#include <ui/cmdarg_err.h> #include <wsutil/file_util.h> #include "ui/dissect_opts.h" diff --git a/ui/failure_message.c b/ui/failure_message.c index e75e2ce9bc..5a89c3caed 100644 --- a/ui/failure_message.c +++ b/ui/failure_message.c @@ -16,7 +16,7 @@ #include <wiretap/wtap.h> #include <wsutil/filesystem.h> -#include <wsutil/cmdarg_err.h> +#include <ui/cmdarg_err.h> #include "ui/failure_message.h" diff --git a/ui/qt/main.cpp b/ui/qt/main.cpp index a4c27a97fb..2b838c9105 100644 --- a/ui/qt/main.cpp +++ b/ui/qt/main.cpp @@ -28,8 +28,8 @@ #include "wsutil/wsgetopt.h" #endif -#include <wsutil/clopts_common.h> -#include <wsutil/cmdarg_err.h> +#include <ui/clopts_common.h> +#include <ui/cmdarg_err.h> #include <wsutil/filesystem.h> #include <wsutil/privileges.h> #ifdef HAVE_PLUGINS |