mirror of
https://github.com/lammertb/libhttp.git
synced 2026-01-27 08:02:47 +03:00
Moved WINCE localtime to own file
This commit is contained in:
1
Makefile
1
Makefile
@@ -254,6 +254,7 @@ LIB_SOURCES = src/libhttp.c \
|
||||
src/win32_pthread_self.c \
|
||||
src/win32_pthread_setspecific.c \
|
||||
src/wince_gmtime_s.c \
|
||||
src/wince_localtime.c \
|
||||
src/wince_localtime_s.c \
|
||||
src/wince_time.c
|
||||
LIB_INLINE = src/mod_lua.inl src/md5.inl
|
||||
|
||||
@@ -124,23 +124,12 @@ pthread_mutexattr_t XX_httplib_pthread_mutex_attr;
|
||||
/* Create substitutes for POSIX functions in Win32. */
|
||||
|
||||
|
||||
static struct tm tm_array[MAX_WORKER_THREADS];
|
||||
static int tm_index = 0;
|
||||
struct tm *gmtime( const time_t *ptime ) {
|
||||
|
||||
struct tm *localtime( const time_t *ptime ) {
|
||||
int i = XX_httplib_atomic_inc(&XX_httplib_tm_index) % MAX_WORKER_THREADS;
|
||||
return gmtime_s(ptime, XX_httplib_tm_array + i);
|
||||
|
||||
int i = XX_httplib_atomic_inc(&tm_index) % (sizeof(tm_array) / sizeof(tm_array[0]));
|
||||
return localtime_s( ptime, tm_array + i );
|
||||
|
||||
} /* localtime */
|
||||
|
||||
|
||||
struct tm * gmtime(const time_t *ptime) {
|
||||
|
||||
int i = XX_httplib_atomic_inc(&tm_index) % ARRAY_SIZE(tm_array);
|
||||
return gmtime_s(ptime, tm_array + i);
|
||||
|
||||
} /* strftime */
|
||||
} /* gmtime */
|
||||
|
||||
|
||||
size_t strftime( char *dst, size_t dst_size, const char *fmt, const struct tm *tm ) {
|
||||
|
||||
43
src/wince_localtime.c
Normal file
43
src/wince_localtime.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* 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"
|
||||
|
||||
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
|
||||
struct tm XX_httplib_tm_array[MAX_WORKER_THREADS];
|
||||
int XX_httplib_tm_index = 0;
|
||||
|
||||
struct tm *localtime( const time_t *ptime ) {
|
||||
|
||||
int i = XX_httplib_atomic_inc(&XX_httplib_tm_index) % MAX_WORKER_THREADS;
|
||||
return localtime_s( ptime, XX_httplib_tm_array + i );
|
||||
|
||||
} /* localtime */
|
||||
|
||||
#endif /* defined(_WIN32_WCE) */
|
||||
Reference in New Issue
Block a user