diff options
author | Guy Harris <gharris@sonic.net> | 2021-04-13 01:23:21 -0700 |
---|---|---|
committer | Guy Harris <gharris@sonic.net> | 2021-04-13 01:23:21 -0700 |
commit | 9b70baac96430598b24ac9d6f14d14c80151f2e4 (patch) | |
tree | 6c8209fbe7c1ea6f950ce55bf9c746a968b1e69d | |
parent | 20b662b01d5871e831030f5760bd21b6e2fc0935 (diff) |
Add a new header defining commonly-used exit codes.
"Commonly-used" meaning "used by more than one source file".
Clean up the exit codes, combining some duplicates with different names,
and using some instead of raw numbers in some places.
-rw-r--r-- | capinfos.c | 6 | ||||
-rw-r--r-- | editcap.c | 9 | ||||
-rw-r--r-- | randpkt.c | 5 | ||||
-rw-r--r-- | rawshark.c | 11 | ||||
-rw-r--r-- | reordercap.c | 4 | ||||
-rw-r--r-- | tfshark.c | 6 | ||||
-rw-r--r-- | tshark.c | 19 | ||||
-rw-r--r-- | ui/commandline.c | 13 | ||||
-rw-r--r-- | ui/exit_codes.h | 38 | ||||
-rw-r--r-- | ui/qt/main.cpp | 8 |
10 files changed, 72 insertions, 47 deletions
diff --git a/capinfos.c b/capinfos.c index 00b2e74c5d..4cfa45510b 100644 --- a/capinfos.c +++ b/capinfos.c @@ -69,6 +69,7 @@ #include <wiretap/wtap.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <wsutil/filesystem.h> #include <wsutil/privileges.h> #include <cli_main.h> @@ -87,9 +88,6 @@ #include "ui/failure_message.h" -#define INVALID_OPTION 1 -#define BAD_FLAG 1 - /* * By default capinfos now continues processing * the next filename if and when wiretap detects @@ -1792,7 +1790,7 @@ main(int argc, char *argv[]) case '?': /* Bad flag - print usage message */ print_usage(stderr); - overall_error_status = BAD_FLAG; + overall_error_status = INVALID_OPTION; goto exit; break; } @@ -70,6 +70,7 @@ #include <ui/clopts_common.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <wsutil/filesystem.h> #include <wsutil/file_util.h> #include <wsutil/wsgcrypt.h> @@ -88,11 +89,11 @@ #include "ringbuffer.h" /* For RINGBUFFER_MAX_NUM_FILES */ -#define INVALID_OPTION 1 -#define INVALID_FILE 2 +/* Additional exit codes */ #define CANT_EXTRACT_PREFIX 2 -#define WRITE_ERROR 2 -#define DUMP_ERROR 2 +#define WRITE_ERROR 2 +#define DUMP_ERROR 2 + #define NANOSECS_PER_SEC 1000000000 /* @@ -18,6 +18,7 @@ #include <ui/clopts_common.h> #include <ui/failure_message.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <wsutil/file_util.h> #include <wsutil/filesystem.h> #include <wsutil/privileges.h> @@ -44,9 +45,9 @@ #include "randpkt_core/randpkt_core.h" -#define INVALID_OPTION 1 +/* Additional exit codes */ #define INVALID_TYPE 2 -#define CLOSE_ERROR 2 +#define CLOSE_ERROR 2 /* * Report an error in command-line arguments. diff --git a/rawshark.c b/rawshark.c index 8252a3666f..c148874abf 100644 --- a/rawshark.c +++ b/rawshark.c @@ -52,6 +52,7 @@ #include <epan/epan.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <wsutil/filesystem.h> #include <wsutil/file_util.h> #include <wsutil/socket.h> @@ -111,11 +112,9 @@ static const gchar decode_as_arg_template[] = "<layer_type>==<selector>,<decode_as_protocol>"; #endif -#define INVALID_OPTION 1 -#define INIT_ERROR 2 +/* Additional exit codes */ #define INVALID_DFILTER 2 -#define OPEN_ERROR 2 -#define FORMAT_ERROR 2 +#define FORMAT_ERROR 2 capture_file cfile; @@ -531,7 +530,7 @@ main(int argc, char *argv[]) dissectors, and we must do it before we read the preferences, in case any dissectors register preferences. */ if (!epan_init(NULL, NULL, TRUE)) { - ret = INIT_ERROR; + ret = INIT_FAILED; goto clean_exit; } @@ -757,7 +756,7 @@ main(int argc, char *argv[]) cmdarg_err("%s", err_msg); g_free(err_msg); cmdarg_err_cont("%s", please_report_bug()); - ret = INIT_ERROR; + ret = INIT_FAILED; goto clean_exit; } diff --git a/reordercap.c b/reordercap.c index 7d91c24338..b79c3d61c8 100644 --- a/reordercap.c +++ b/reordercap.c @@ -31,6 +31,7 @@ #include <wiretap/wtap.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <wsutil/filesystem.h> #include <wsutil/file_util.h> #include <wsutil/privileges.h> @@ -46,8 +47,7 @@ #include "ui/failure_message.h" -#define INVALID_OPTION 1 -#define OPEN_ERROR 2 +/* Additional exit codes */ #define OUTPUT_FILE_ERROR 1 /* Show command-line usage */ @@ -39,6 +39,7 @@ #include <ui/clopts_common.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <ui/urls.h> #include <wsutil/filesystem.h> #include <wsutil/file_util.h> @@ -80,11 +81,8 @@ #include <wsutil/plugins.h> #endif -#define INVALID_OPTION 1 +/* Additional exit codes */ #define NO_FILE_SPECIFIED 1 -#define INIT_ERROR 2 -#define INVALID_FILTER 2 -#define OPEN_ERROR 2 capture_file cfile; @@ -48,6 +48,7 @@ #include <ui/clopts_common.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <ui/urls.h> #include <wsutil/filesystem.h> #include <wsutil/file_util.h> @@ -128,18 +129,10 @@ #include <wsutil/plugins.h> #endif -/* Exit codes */ -#define INVALID_OPTION 1 -#define INVALID_INTERFACE 2 -#define INVALID_FILE 2 -#define INVALID_FILTER 2 -#define INVALID_EXPORT 2 -#define INVALID_CAPABILITY 2 -#define INVALID_TAP 2 -#define INVALID_DATA_LINK 2 -#define INVALID_TIMESTAMP_TYPE 2 -#define INVALID_CAPTURE 2 -#define INIT_FAILED 2 +/* Additional exit codes */ +#define INVALID_EXPORT 2 +#define INVALID_TAP 2 +#define INVALID_CAPTURE 2 #define LONGOPT_EXPORT_OBJECTS LONGOPT_BASE_APPLICATION+1 #define LONGOPT_COLOR LONGOPT_BASE_APPLICATION+2 @@ -2221,7 +2214,7 @@ main(int argc, char *argv[]) } if ((if_caps_queries & CAPS_QUERY_LINK_TYPES) && caps->data_link_types == NULL) { cmdarg_err("The capture device \"%s\" has no data link types.", interface_opts->name); - exit_status = INVALID_DATA_LINK; + exit_status = IFACE_HAS_NO_LINK_TYPES; goto clean_exit; } if ((if_caps_queries & CAPS_QUERY_TIMESTAMP_TYPES) && caps->timestamp_types == NULL) { diff --git a/ui/commandline.c b/ui/commandline.c index 3dd4c5dd87..0776067013 100644 --- a/ui/commandline.c +++ b/ui/commandline.c @@ -33,6 +33,7 @@ #include <ui/clopts_common.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <wsutil/filesystem.h> #include <epan/ex-opt.h> @@ -280,7 +281,7 @@ void commandline_early_options(int argc, char *argv[]) cmdarg_err("%s", err_str); g_free(err_str); } - exit(2); + exit(INVALID_INTERFACE); } #ifdef _WIN32 create_console(); @@ -290,14 +291,14 @@ void commandline_early_options(int argc, char *argv[]) #ifdef _WIN32 destroy_console(); #endif /* _WIN32 */ - exit(0); + exit(EXIT_SUCCESS); #else /* HAVE_LIBPCAP */ capture_option_specified = TRUE; #endif /* HAVE_LIBPCAP */ break; case 'h': /* Print help and exit */ commandline_print_usage(TRUE); - exit(0); + exit(EXIT_SUCCESS); break; #ifdef _WIN32 case 'i': @@ -308,7 +309,7 @@ void commandline_early_options(int argc, char *argv[]) case 'P': /* Personal file directory path settings - change these before the Preferences and alike are processed */ if (!persfilepath_opt(opt, optarg)) { cmdarg_err("-P flag \"%s\" failed (hint: is it quoted and existing?)", optarg); - exit(2); + exit(EXIT_SUCCESS); } break; case 'v': /* Show version and exit */ @@ -319,7 +320,7 @@ void commandline_early_options(int argc, char *argv[]) #ifdef _WIN32 destroy_console(); #endif - exit(0); + exit(EXIT_SUCCESS); break; case 'X': /* @@ -338,7 +339,7 @@ void commandline_early_options(int argc, char *argv[]) if (capture_option_specified) { print_no_capture_support_error(); commandline_print_usage(FALSE); - exit(1); + exit(EXIT_SUCCESS); } #endif } diff --git a/ui/exit_codes.h b/ui/exit_codes.h new file mode 100644 index 0000000000..168f6b6fdd --- /dev/null +++ b/ui/exit_codes.h @@ -0,0 +1,38 @@ +/* exit_codes.h + * Definition of exit codes for programs. + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __EXIT_CODES_H__ +#define __EXIT_CODES_H__ + +/* Exit codes */ +#define INVALID_OPTION 1 +#define INVALID_INTERFACE 2 +#define INVALID_FILE 2 +#define INVALID_FILTER 2 +#define INVALID_CAPABILITY 2 +#define IFACE_HAS_NO_LINK_TYPES 2 +#define INVALID_TIMESTAMP_TYPE 2 +#define INIT_FAILED 2 +#define OPEN_ERROR 2 + +#endif /* __EXIT_CODES_H__ */ + +/* + * Editor modelines - https://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/qt/main.cpp b/ui/qt/main.cpp index 8ddd0643bc..35f483fcb9 100644 --- a/ui/qt/main.cpp +++ b/ui/qt/main.cpp @@ -36,6 +36,7 @@ #include <ui/clopts_common.h> #include <ui/cmdarg_err.h> +#include <ui/exit_codes.h> #include <ui/urls.h> #include <wsutil/filesystem.h> #include <wsutil/privileges.h> @@ -127,11 +128,6 @@ #include <ui/qt/utils/qt_ui_utils.h> -#define INVALID_OPTION 1 -#define INIT_FAILED 2 -#define INVALID_CAPABILITY 2 -#define INVALID_LINK_TYPE 2 - //#define DEBUG_STARTUP_TIME 1 /* # Log level @@ -911,7 +907,7 @@ int main(int argc, char *qt_argv[]) } if (caps->data_link_types == NULL) { cmdarg_err("The capture device \"%s\" has no data link types.", device->name); - ret_val = INVALID_LINK_TYPE; + ret_val = IFACE_HAS_NO_LINK_TYPES; goto clean_exit; } #ifdef _WIN32 |