From e434d404d0db719440cc911729d225417a49b4f4 Mon Sep 17 00:00:00 2001 From: Guy Harris <gharris@sonic.net> Date: Tue, 16 Mar 2021 04:33:00 -0700 Subject: [PATCH] Move even more headers outside extern "C". If a header declares a function, or anything else requiring the extern "C" decoration, have it wrap the declaration itself; don't rely on the header itself being included inside extern "C". --- wiretap/wtap_modules.h | 5 ++--- wsutil/cpu_info.h | 2 -- wsutil/file_util.h | 12 ++++++------ wsutil/plugins.h | 6 +++--- wsutil/processes.h | 21 +++++++++++++++------ wsutil/time_util.h | 4 ++-- wsutil/unicode-utils.h | 10 ++++++---- 7 files changed, 34 insertions(+), 26 deletions(-) diff --git a/wsutil/cpu_info.h b/wsutil/cpu_info.h index 3579576ba7..145b1bef00 100644 --- a/wsutil/cpu_info.h +++ b/wsutil/cpu_info.h @@ -17,8 +17,6 @@ extern "C" { #endif /* __cplusplus */ -#include "ws_symbol_export.h" - WS_DLL_PUBLIC void get_cpu_info(GString *str); #ifdef __cplusplus diff --git a/wsutil/file_util.h b/wsutil/file_util.h index e9942f3c5b..a2d263d8a2 100644 --- a/wsutil/file_util.h +++ b/wsutil/file_util.h @@ -17,10 +17,6 @@ #include "ws_symbol_export.h" -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - #ifdef _WIN32 #include <io.h> /* for _read(), _write(), etc. */ #include <gmodule.h> @@ -36,6 +32,12 @@ extern "C" { #include <sys/stat.h> /* for stat() and struct stat */ +#include <stdio.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + /* We set a larger IO Buffer size for the capture files */ #define IO_BUF_SIZE (64 * 1024) @@ -58,8 +60,6 @@ extern "C" { #define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) #endif -#include <stdio.h> - #ifdef _WIN32 /* diff --git a/wsutil/plugins.h b/wsutil/plugins.h index 9eaa0e41ea..5ab8d0ac0f 100644 --- a/wsutil/plugins.h +++ b/wsutil/plugins.h @@ -13,13 +13,13 @@ #include <glib.h> +#include <gmodule.h> +#include "ws_symbol_export.h" + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -#include <gmodule.h> -#include "ws_symbol_export.h" - typedef void (*plugin_register_func)(void); typedef void plugins_t; diff --git a/wsutil/processes.h b/wsutil/processes.h index 03c76e829d..6d19f97548 100644 --- a/wsutil/processes.h +++ b/wsutil/processes.h @@ -13,6 +13,20 @@ #include "ws_symbol_export.h" +#ifdef _WIN32 +/* + * On Windows, a process ID is a HANDLE. + * Include <windows.h> to make sure HANDLE is defined. + */ +#include <windows.h> +#else +/* + * On UN*X, a process ID is a pid_t. + * Include <sys/types.h> to make sure pid_t is defined. + */ +#include <sys/types.h> +#endif + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -20,20 +34,15 @@ extern "C" { #ifdef _WIN32 /* * On Windows, a process ID is a HANDLE. - * Include <windows.h> to make sure HANDLE is defined. */ -#include <windows.h> - typedef HANDLE ws_process_id; #define WS_INVALID_PID INVALID_HANDLE_VALUE + #else /* * On UN*X, a process ID is a pid_t. - * Include <sys/types.h> to make sure pid_t is defined. */ -#include <sys/types.h> - typedef pid_t ws_process_id; #define WS_INVALID_PID -1 diff --git a/wsutil/time_util.h b/wsutil/time_util.h index 99d97d662e..40914d29a5 100644 --- a/wsutil/time_util.h +++ b/wsutil/time_util.h @@ -12,12 +12,12 @@ #include "ws_symbol_export.h" +#include <time.h> + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -#include <time.h> - WS_DLL_PUBLIC time_t mktime_utc(struct tm *tm); diff --git a/wsutil/unicode-utils.h b/wsutil/unicode-utils.h index 6938914f3f..9a27703cbd 100644 --- a/wsutil/unicode-utils.h +++ b/wsutil/unicode-utils.h @@ -15,6 +15,12 @@ #include <glib.h> +#ifdef _WIN32 +#include <windows.h> +#include <tchar.h> +#include <wchar.h> +#endif + /** * @file * Unicode convenience routines. @@ -29,10 +35,6 @@ int ws_utf8_char_len(guint8 ch); #ifdef _WIN32 -#include <windows.h> -#include <tchar.h> -#include <wchar.h> - /** Given a UTF-8 string, convert it to UTF-16. This is meant to be used * to convert between GTK+ 2.x (UTF-8) to Windows (UTF-16). * -- GitLab