aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <gharris@sonic.net>2021-04-13 01:23:21 -0700
committerGuy Harris <gharris@sonic.net>2021-04-13 01:23:21 -0700
commit9b70baac96430598b24ac9d6f14d14c80151f2e4 (patch)
tree6c8209fbe7c1ea6f950ce55bf9c746a968b1e69d
parent20b662b01d5871e831030f5760bd21b6e2fc0935 (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.c6
-rw-r--r--editcap.c9
-rw-r--r--randpkt.c5
-rw-r--r--rawshark.c11
-rw-r--r--reordercap.c4
-rw-r--r--tfshark.c6
-rw-r--r--tshark.c19
-rw-r--r--ui/commandline.c13
-rw-r--r--ui/exit_codes.h38
-rw-r--r--ui/qt/main.cpp8
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;
}
diff --git a/editcap.c b/editcap.c
index 0e04b4092f..6f3f6887b2 100644
--- a/editcap.c
+++ b/editcap.c
@@ -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
/*
diff --git a/randpkt.c b/randpkt.c
index 4604803b3e..8a85717bc5 100644
--- a/randpkt.c
+++ b/randpkt.c
@@ -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 */
diff --git a/tfshark.c b/tfshark.c
index 9aae70005c..d4ec7a7e2f 100644
--- a/tfshark.c
+++ b/tfshark.c
@@ -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;
diff --git a/tshark.c b/tshark.c
index 7f85843169..c14724d0bc 100644
--- a/tshark.c
+++ b/tshark.c
@@ -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