From 48b71941372744589f36236ae976d55d36d7a8a2 Mon Sep 17 00:00:00 2001 From: Lammert Bies Date: Sun, 11 Dec 2016 21:53:20 +0100 Subject: [PATCH] Moved global data to own file --- Makefile | 1 + src/httplib_global_data.c | 55 +++++++++++++++++++++++++++++++++++++++ src/libhttp.c | 25 ------------------ 3 files changed, 56 insertions(+), 25 deletions(-) create mode 100644 src/httplib_global_data.c diff --git a/Makefile b/Makefile index f4c3342e..f6fe8edc 100644 --- a/Makefile +++ b/Makefile @@ -104,6 +104,7 @@ LIB_SOURCES = src/libhttp.c \ src/httplib_get_valid_options.c \ src/httplib_get_var.c \ src/httplib_getreq.c \ + src/httplib_global_data.c \ src/httplib_gmt_time_string.c \ src/httplib_handle_cgi_request.c \ src/httplib_handle_directory_request.c \ diff --git a/src/httplib_global_data.c b/src/httplib_global_data.c new file mode 100644 index 00000000..e0964842 --- /dev/null +++ b/src/httplib_global_data.c @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2016 Lammert Bies + * Copyright (c) 2013-2016 the Civetweb developers + * Copyright (c) 2004-2013 Sergey Lyubka + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + + + +#include "libhttp-private.h" + + + +#ifdef _WIN32 +CRITICAL_SECTION global_log_file_lock; + +pthread_mutex_undefined_struct * XX_httplib_pthread_mutex_attr = NULL; +#else /* _WIN32 */ +pthread_mutexattr_t XX_httplib_pthread_mutex_attr; +#endif /* _WIN32 */ + + + +pthread_key_t XX_httplib_sTlsKey; /* Thread local storage index */ + +int XX_httplib_sTlsInit = 0; +int XX_httplib_thread_idx_max = 0; + +const struct uriprot_tp XX_httplib_abs_uri_protocols[] = { + + { "http://", 7, 80 }, + { "https://", 8, 443 }, + { "ws://", 5, 80 }, + { "wss://", 6, 443 }, + { NULL, 0, 0 } + +}; /* XX_httplib_abs_uri_protocols */ + diff --git a/src/libhttp.c b/src/libhttp.c index e26a5606..ea940f6f 100644 --- a/src/libhttp.c +++ b/src/libhttp.c @@ -36,16 +36,6 @@ mg_static_assert(sizeof(size_t) == 4 || sizeof(size_t) == 8, "size_t data type s #define va_copy(x, y) ((x) = (y)) #endif -#ifdef _WIN32 -/* Create substitutes for POSIX functions in Win32. */ - -static CRITICAL_SECTION global_log_file_lock; - - pthread_mutex_undefined_struct *XX_httplib_pthread_mutex_attr = NULL; -#else /* _WIN32 */ -pthread_mutexattr_t XX_httplib_pthread_mutex_attr; -#endif /* _WIN32 */ - #if defined(_WIN32_WCE) /* Create substitutes for POSIX functions in Win32. */ @@ -74,18 +64,3 @@ typedef int socklen_t; #endif /* NO_SOCKLEN_T */ #define _DARWIN_UNLIMITED_SELECT - -pthread_key_t XX_httplib_sTlsKey; /* Thread local storage index */ -int XX_httplib_sTlsInit = 0; -int XX_httplib_thread_idx_max = 0; - - - - - -const struct uriprot_tp XX_httplib_abs_uri_protocols[] = {{"http://", 7, 80}, - {"https://", 8, 443}, - {"ws://", 5, 80}, - {"wss://", 6, 443}, - {NULL, 0, 0}}; -