forked from osmocom/wireshark
Put the main() and wmain() routines for CLI programs into a separate file.
That means that code is only in one place, rather than having copies of it in each of those programs. CLI programs that, on Windows, should get UTF-8 arguments rather than arguments in the local code page should: include the top-level cli_main.h header; define the main function as real_main(); be built with the top-level cli_main.c file. On UN*X, cli_main.c has a main() program, and just passes the arguments on to real_main(). On Windows, cli_main.c has a wmain() function that converts the UTF-16 arguments it's handed to UTF-8 arguments, using WideCharToMultiByte() so that it doesn't use any functions other than those provided by the system, and then calls real_main() with the argument count and UTF-8 arguments. Change-Id: I8b11f01dbc5c63fce599d1bef9ad96cd92c3c01e Reviewed-on: https://code.wireshark.org/review/31017 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
parent
17b721e451
commit
a34cc98b2a
|
@ -2304,6 +2304,7 @@ if(BUILD_tshark)
|
|||
${M_LIBRARIES}
|
||||
)
|
||||
set(tshark_FILES
|
||||
cli_main.c
|
||||
capture_opts.c
|
||||
tshark-tap-register.c
|
||||
tshark.c
|
||||
|
@ -2329,6 +2330,7 @@ if(BUILD_tfshark)
|
|||
${APPLE_SYSTEM_CONFIGURATION_LIBRARY}
|
||||
)
|
||||
set(tfshark_FILES
|
||||
cli_main.c
|
||||
tfshark.c
|
||||
${TSHARK_TAP_SRC}
|
||||
${SHARK_COMMON_SRC}
|
||||
|
@ -2352,6 +2354,7 @@ if(BUILD_rawshark AND PCAP_FOUND)
|
|||
${APPLE_SYSTEM_CONFIGURATION_LIBRARY}
|
||||
)
|
||||
set(rawshark_FILES
|
||||
cli_main.c
|
||||
${SHARK_COMMON_SRC}
|
||||
rawshark.c
|
||||
)
|
||||
|
@ -2374,6 +2377,10 @@ if(BUILD_sharkd)
|
|||
${APPLE_SYSTEM_CONFIGURATION_LIBRARY}
|
||||
)
|
||||
set(sharkd_FILES
|
||||
#
|
||||
# XXX - currently doesn't work on Windows if it uses
|
||||
# cli_main.c and has real_main().
|
||||
#
|
||||
sharkd.c
|
||||
sharkd_daemon.c
|
||||
sharkd_session.c
|
||||
|
@ -2419,6 +2426,7 @@ if(BUILD_randpkt)
|
|||
${ZLIB_LIBRARIES}
|
||||
)
|
||||
set(randpkt_FILES
|
||||
cli_main.c
|
||||
randpkt.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2441,6 +2449,7 @@ if(BUILD_text2pcap)
|
|||
${ZLIB_LIBRARIES}
|
||||
)
|
||||
set(text2pcap_FILES
|
||||
cli_main.c
|
||||
text2pcap.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2464,6 +2473,7 @@ if(BUILD_mergecap)
|
|||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(mergecap_FILES
|
||||
cli_main.c
|
||||
mergecap.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2483,6 +2493,7 @@ if(BUILD_reordercap)
|
|||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(reordercap_FILES
|
||||
cli_main.c
|
||||
reordercap.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2504,6 +2515,7 @@ if(BUILD_capinfos)
|
|||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(capinfos_FILES
|
||||
cli_main.c
|
||||
capinfos.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2524,6 +2536,7 @@ if(BUILD_captype)
|
|||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(captype_FILES
|
||||
cli_main.c
|
||||
captype.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2544,6 +2557,7 @@ if(BUILD_editcap)
|
|||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(editcap_FILES
|
||||
cli_main.c
|
||||
editcap.c
|
||||
version_info.c
|
||||
)
|
||||
|
@ -2571,6 +2585,7 @@ if(BUILD_dumpcap AND PCAP_FOUND)
|
|||
${NL_LIBRARIES}
|
||||
)
|
||||
set(dumpcap_FILES
|
||||
cli_main.c
|
||||
capture_opts.c
|
||||
dumpcap.c
|
||||
ringbuffer.c
|
||||
|
@ -2924,6 +2939,7 @@ install(
|
|||
|
||||
set(SHARK_PUBLIC_HEADERS
|
||||
cfile.h
|
||||
cli_main.h
|
||||
file.h
|
||||
globals.h
|
||||
log.h
|
||||
|
|
24
capinfos.c
24
capinfos.c
|
@ -63,6 +63,7 @@
|
|||
#include <wsutil/crash_info.h>
|
||||
#include <wsutil/filesystem.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
#include <wiretap/wtap_opttypes.h>
|
||||
|
||||
|
@ -80,10 +81,6 @@
|
|||
#include "wsutil/wsgetopt.h"
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#include "ui/failure_message.h"
|
||||
|
||||
#define INVALID_OPTION 1
|
||||
|
@ -1403,7 +1400,7 @@ hash_to_str(const unsigned char *hash, size_t length, char *str) {
|
|||
}
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -1730,23 +1727,6 @@ exit:
|
|||
return overall_error_status;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
24
captype.c
24
captype.c
|
@ -33,6 +33,7 @@
|
|||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/filesystem.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
|
||||
#ifdef HAVE_PLUGINS
|
||||
|
@ -42,10 +43,6 @@
|
|||
#include <wsutil/report_message.h>
|
||||
#include <wsutil/str_util.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#ifndef HAVE_GETOPT_LONG
|
||||
#include "wsutil/wsgetopt.h"
|
||||
#endif
|
||||
|
@ -81,7 +78,7 @@ failure_message_cont(const char *msg_format, va_list ap)
|
|||
fprintf(stderr, "\n");
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -205,23 +202,6 @@ real_main(int argc, char *argv[])
|
|||
return overall_error_status;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* Compile and link this with all CLI programs where the main routine
|
||||
* should get UTF-8 arguments on Windows. In those programs, declare
|
||||
* the main program as real_main() rather than main().
|
||||
*
|
||||
* This is used in software licensed under the GPLv2, and its license MUST
|
||||
* be compatible with that license.
|
||||
*
|
||||
* This is used in software licensed under the Apache 2.0 license, and its
|
||||
* license MUST be compatible with that license.
|
||||
*
|
||||
* For that purpose, we use the MIT (X11) license.
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "cli_main.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
int i;
|
||||
|
||||
argv = (char **)malloc((argc + 1) * sizeof(char *));
|
||||
if (argv == NULL) {
|
||||
fprintf(stderr, "Out of memory for converted argument list\n");
|
||||
return 2;
|
||||
}
|
||||
for (i = 0; i < argc; i++) {
|
||||
/*
|
||||
* XXX = use WC_ERR_INVALID_CHARS rather than 0, and fail if
|
||||
* the argument isn't valid UTF-16?
|
||||
*/
|
||||
int width;
|
||||
char *utf8_string;
|
||||
|
||||
width = WideCharToMultiByte(CP_UTF8, 0, wc_argv[i], -1, NULL, 0,
|
||||
NULL, NULL);
|
||||
if (width == 0) {
|
||||
fprintf(stderr, "WideCharToMultiByte failed: %d\n",
|
||||
width);
|
||||
return 2;
|
||||
}
|
||||
utf8_string = malloc(width);
|
||||
if (utf8_string == NULL) {
|
||||
fprintf(stderr,
|
||||
"Out of memory for converted argument list\n");
|
||||
return 2;
|
||||
}
|
||||
if (WideCharToMultiByte(CP_UTF8, 0, wc_argv[i], -1, utf8_string,
|
||||
width, NULL, NULL) == 0) {
|
||||
fprintf(stderr, "WideCharToMultiByte failed: %d\n",
|
||||
width);
|
||||
return 2;
|
||||
}
|
||||
argv[i] = utf8_string;
|
||||
}
|
||||
argv[i] = NULL;
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else /* _WIN32 */
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Declaration of the real main routine, for all CLI programs where the
|
||||
* main routine should get UTF-8 arguments on Windows. In those programs,
|
||||
* in the file that defines the main routine, include this header and define
|
||||
* the main routine as real_main() rather than main(), and build those
|
||||
* programs with cli_main.c and link with the object file.
|
||||
*
|
||||
* This is used in software licensed under the GPLv2, and its license MUST
|
||||
* be compatible with that license.
|
||||
*
|
||||
* This is used in software licensed under the Apache 2.0 license, and its
|
||||
* license MUST be compatible with that license.
|
||||
*
|
||||
* For that purpose, we use the MIT (X11) license.
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
extern int real_main(int argc, char *argv[]);
|
24
dumpcap.c
24
dumpcap.c
|
@ -43,6 +43,7 @@
|
|||
#include <wsutil/cmdarg_err.h>
|
||||
#include <wsutil/crash_info.h>
|
||||
#include <wsutil/strtoi.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
|
||||
#ifndef HAVE_GETOPT_LONG
|
||||
|
@ -65,10 +66,6 @@
|
|||
|
||||
#include "writecap/pcapio.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <sys/un.h>
|
||||
#endif
|
||||
|
@ -4613,7 +4610,7 @@ get_dumpcap_runtime_info(GString *str)
|
|||
}
|
||||
|
||||
/* And now our feature presentation... [ fade to music ] */
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -5385,23 +5382,6 @@ real_main(int argc, char *argv[])
|
|||
return 0; /* never here, make compiler happy */
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
console_log_handler(const char *log_domain, GLogLevelFlags log_level,
|
||||
const char *message, gpointer user_data _U_)
|
||||
|
|
21
editcap.c
21
editcap.c
|
@ -54,7 +54,6 @@
|
|||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#include <process.h> /* getpid */
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
|
@ -74,6 +73,7 @@
|
|||
#include <wsutil/report_message.h>
|
||||
#include <wsutil/strnatcmp.h>
|
||||
#include <wsutil/str_util.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
#include <wsutil/pint.h>
|
||||
#include <wsutil/strtoi.h>
|
||||
|
@ -982,7 +982,7 @@ editcap_dump_open(const char *filename, const wtap_dump_params *params,
|
|||
return pdh;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -2055,23 +2055,6 @@ clean_exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Skip meta-information read from file to return offset of real
|
||||
* protocol data */
|
||||
static int
|
||||
|
|
|
@ -96,6 +96,7 @@ if(BUILD_androiddump)
|
|||
)
|
||||
endif()
|
||||
set(androiddump_FILES
|
||||
../cli_main.c
|
||||
androiddump.c
|
||||
extcap-base.c
|
||||
)
|
||||
|
@ -117,6 +118,7 @@ if(BUILD_sshdump AND LIBSSH_FOUND)
|
|||
${LIBSSH_LIBRARIES}
|
||||
)
|
||||
set(sshdump_FILES
|
||||
../cli_main.c
|
||||
sshdump.c
|
||||
extcap-base.c
|
||||
ssh-base.c
|
||||
|
@ -142,6 +144,7 @@ if(BUILD_ciscodump AND LIBSSH_FOUND)
|
|||
${LIBSSH_LIBRARIES}
|
||||
)
|
||||
set(ciscodump_FILES
|
||||
../cli_main.c
|
||||
ciscodump.c
|
||||
extcap-base.c
|
||||
ssh-base.c
|
||||
|
@ -190,6 +193,7 @@ if(BUILD_udpdump)
|
|||
writecap
|
||||
)
|
||||
set(udpdump_FILES
|
||||
../cli_main.c
|
||||
udpdump.c
|
||||
extcap-base.c
|
||||
)
|
||||
|
@ -212,6 +216,7 @@ if(BUILD_randpktdump)
|
|||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(randpktdump_FILES
|
||||
../cli_main.c
|
||||
extcap-base.c
|
||||
randpktdump.c
|
||||
)
|
||||
|
|
|
@ -76,6 +76,8 @@
|
|||
#include "wiretap/pcap-encap.h"
|
||||
#endif
|
||||
|
||||
#include <cli_main.h>
|
||||
|
||||
#ifdef ANDROIDDUMP_USE_LIBPCAP
|
||||
#define EXTCAP_ENCAP_BLUETOOTH_H4_WITH_PHDR DLT_BLUETOOTH_H4_WITH_PHDR
|
||||
#define EXTCAP_ENCAP_WIRESHARK_UPPER_PDU DLT_WIRESHARK_UPPER_PDU
|
||||
|
@ -2743,23 +2745,6 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <cli_main.h>
|
||||
|
||||
#define CISCODUMP_VERSION_MAJOR "1"
|
||||
#define CISCODUMP_VERSION_MINOR "0"
|
||||
#define CISCODUMP_VERSION_RELEASE "0"
|
||||
|
@ -706,23 +708,6 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - https://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
|
||||
#ifdef _WIN32
|
||||
#include <io.h>
|
||||
#include <wsutil/unicode-utils.h> // arg_list_utf_16to8
|
||||
#endif
|
||||
|
||||
#include <wsutil/socket.h>
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include <wsutil/strtoi.h>
|
||||
#include <wsutil/filesystem.h>
|
||||
|
||||
#include <cli_main.h>
|
||||
|
||||
#define RANDPKT_EXTCAP_INTERFACE "randpkt"
|
||||
#define RANDPKTDUMP_VERSION_MAJOR "0"
|
||||
#define RANDPKTDUMP_VERSION_MINOR "1"
|
||||
|
@ -318,23 +320,6 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - https://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <cli_main.h>
|
||||
|
||||
#define SSHDUMP_VERSION_MAJOR "1"
|
||||
#define SSHDUMP_VERSION_MINOR "0"
|
||||
#define SSHDUMP_VERSION_RELEASE "0"
|
||||
|
@ -531,23 +533,6 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - https://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
|
@ -48,6 +48,8 @@
|
|||
#include <wsutil/inet_addr.h>
|
||||
#include <wsutil/filesystem.h>
|
||||
|
||||
#include <cli_main.h>
|
||||
|
||||
#define PCAP_SNAPLEN 0xffff
|
||||
|
||||
#define UDPDUMP_DEFAULT_PORT 5555
|
||||
|
@ -475,23 +477,6 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
25
mergecap.c
25
mergecap.c
|
@ -37,6 +37,8 @@
|
|||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <wsutil/strnatcmp.h>
|
||||
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
|
||||
#ifdef HAVE_PLUGINS
|
||||
|
@ -47,10 +49,6 @@
|
|||
|
||||
#include <wiretap/merge.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#include "ui/failure_message.h"
|
||||
|
||||
/*
|
||||
|
@ -229,7 +227,7 @@ merge_callback(merge_event event, int num,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -479,23 +477,6 @@ clean_exit:
|
|||
return (status == MERGE_OK) ? 0 : 2;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
21
randpkt.c
21
randpkt.c
|
@ -17,10 +17,10 @@
|
|||
#include <stdlib.h>
|
||||
#include <wsutil/clopts_common.h>
|
||||
#include <wsutil/cmdarg_err.h>
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/filesystem.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <cli_main.h>
|
||||
|
||||
#ifdef HAVE_PLUGINS
|
||||
#include <wsutil/plugins.h>
|
||||
|
@ -99,7 +99,7 @@ usage(gboolean is_error)
|
|||
fprintf(output, "\nIf type is not specified, a random packet will be chosen\n\n");
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char **argv)
|
||||
{
|
||||
char *init_progfile_dir_error;
|
||||
|
@ -246,23 +246,6 @@ clean_exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t **wc_argv)
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
23
rawshark.c
23
rawshark.c
|
@ -53,6 +53,7 @@
|
|||
#include <wsutil/plugins.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <wsutil/report_message.h>
|
||||
#include <wsutil/clopts_common.h>
|
||||
|
||||
#include "globals.h"
|
||||
#include <epan/packet.h>
|
||||
|
@ -73,7 +74,6 @@
|
|||
#include <epan/epan_dissect.h>
|
||||
#include <epan/stat_tap_ui.h>
|
||||
#include <epan/timestamp.h>
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#include "epan/column-utils.h"
|
||||
#include "epan/proto.h"
|
||||
#include <epan/tap.h>
|
||||
|
@ -82,7 +82,7 @@
|
|||
#include <wiretap/libpcap.h>
|
||||
#include <wiretap/pcap-encap.h>
|
||||
|
||||
#include <wsutil/clopts_common.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
|
||||
#include "caputils/capture-pcap-util.h"
|
||||
|
@ -403,7 +403,7 @@ set_link_type(const char *lt_arg) {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -828,23 +828,6 @@ clean_exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Read data from a raw pipe. The "raw" data consists of a libpcap
|
||||
* packet header followed by the payload.
|
||||
|
|
21
reordercap.c
21
reordercap.c
|
@ -30,7 +30,7 @@
|
|||
#include <wsutil/filesystem.h>
|
||||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
#include <wiretap/wtap_opttypes.h>
|
||||
|
||||
|
@ -161,7 +161,7 @@ failure_message_cont(const char *msg_format, va_list ap)
|
|||
/********************************************************************/
|
||||
/* Main function. */
|
||||
/********************************************************************/
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -380,23 +380,6 @@ clean_exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
24
text2pcap.c
24
text2pcap.c
|
@ -101,6 +101,7 @@
|
|||
#include <string.h>
|
||||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/crash_info.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
#include <wsutil/inet_addr.h>
|
||||
|
||||
|
@ -132,10 +133,6 @@
|
|||
|
||||
#include "wiretap/wtap.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif /* _WIN32 */
|
||||
|
||||
/*--- Options --------------------------------------------------------------------*/
|
||||
|
||||
/* File format */
|
||||
|
@ -1874,7 +1871,7 @@ parse_options (int argc, char *argv[])
|
|||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
int ret = EXIT_SUCCESS;
|
||||
|
@ -1946,23 +1943,6 @@ clean_exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
*
|
||||
|
|
24
tfshark.c
24
tfshark.c
|
@ -39,6 +39,7 @@
|
|||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <wsutil/report_message.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
|
||||
#include "globals.h"
|
||||
|
@ -66,10 +67,6 @@
|
|||
#include <wiretap/wtap-int.h>
|
||||
#include <wiretap/file_wrappers.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#include "log.h"
|
||||
#include <epan/funnel.h>
|
||||
|
||||
|
@ -303,7 +300,7 @@ get_tfshark_runtime_version_info(GString *str)
|
|||
epan_get_runtime_version_info(str);
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -1005,23 +1002,6 @@ clean_exit:
|
|||
return exit_status;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
static const nstime_t *
|
||||
tfshark_get_frame_ts(struct packet_provider_data *prov, guint32 frame_num)
|
||||
{
|
||||
|
|
|
@ -18,6 +18,7 @@ epan/wmem/wmem_strutil.c
|
|||
epan/wslua/init_wslua.c
|
||||
extcap/*
|
||||
image/stock_icons/*
|
||||
cli_main.c
|
||||
mmdbresolve.c
|
||||
tools/lemon/*
|
||||
wsutil/file_util.h
|
||||
|
|
21
tshark.c
21
tshark.c
|
@ -52,6 +52,7 @@
|
|||
#include <wsutil/file_util.h>
|
||||
#include <wsutil/privileges.h>
|
||||
#include <wsutil/report_message.h>
|
||||
#include <cli_main.h>
|
||||
#include <version_info.h>
|
||||
#include <wiretap/wtap_opttypes.h>
|
||||
#include <wiretap/pcapng.h>
|
||||
|
@ -104,7 +105,6 @@
|
|||
#include "caputils/capture_ifinfo.h"
|
||||
#ifdef _WIN32
|
||||
#include "caputils/capture-wpcap.h"
|
||||
#include <wsutil/unicode-utils.h>
|
||||
#endif /* _WIN32 */
|
||||
#include <capchild/capture_session.h>
|
||||
#include <capchild/capture_sync.h>
|
||||
|
@ -670,7 +670,7 @@ must_do_dissection(dfilter_t *rfcode, dfilter_t *dfcode,
|
|||
tap_listeners_require_dissection() || dissect_color;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
real_main(int argc, char *argv[])
|
||||
{
|
||||
GString *comp_info_str;
|
||||
|
@ -2255,23 +2255,6 @@ clean_exit:
|
|||
return exit_status;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
int
|
||||
wmain(int argc, wchar_t *wc_argv[])
|
||||
{
|
||||
char **argv;
|
||||
|
||||
argv = arg_list_utf_16to8(argc, wc_argv);
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#else
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
return real_main(argc, argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*#define USE_BROKEN_G_MAIN_LOOP*/
|
||||
|
||||
#ifdef USE_BROKEN_G_MAIN_LOOP
|
||||
|
|
Loading…
Reference in New Issue