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.
pespin/rlcmac
Guy Harris 2021-04-13 01:23:21 -07:00
parent 20b662b01d
commit 9b70baac96
10 changed files with 72 additions and 47 deletions

View File

@ -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;
}

View File

@ -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
/*

View File

@ -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.

View File

@ -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;
}

View File

@ -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 */

View File

@ -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;

View File

@ -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) {

View File

@ -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
}

38
ui/exit_codes.h Normal file
View File

@ -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:
*/

View File

@ -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