mirror of
https://github.com/cesanta/mongoose.git
synced 2025-06-12 20:59:03 +08:00
Make mjs & frozen vc98 & vc2017 friendly
PUBLISHED_FROM=7cde8b374d5e318b5cdd69fc5b4de86b2a9552f5
This commit is contained in:
parent
6e50fe4475
commit
00d1d2c0e7
16
mongoose.c
16
mongoose.c
@ -1936,12 +1936,24 @@ int mg_avprintf(char **buf, size_t size, const char *fmt, va_list ap) {
|
|||||||
*buf = NULL; /* LCOV_EXCL_START */
|
*buf = NULL; /* LCOV_EXCL_START */
|
||||||
while (len < 0) {
|
while (len < 0) {
|
||||||
MG_FREE(*buf);
|
MG_FREE(*buf);
|
||||||
|
if (size == 0) {
|
||||||
|
size = 5;
|
||||||
|
}
|
||||||
size *= 2;
|
size *= 2;
|
||||||
if ((*buf = (char *) MG_MALLOC(size)) == NULL) break;
|
if ((*buf = (char *) MG_MALLOC(size)) == NULL) {
|
||||||
|
len = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
va_copy(ap_copy, ap);
|
va_copy(ap_copy, ap);
|
||||||
len = vsnprintf(*buf, size, fmt, ap_copy);
|
len = vsnprintf(*buf, size - 1, fmt, ap_copy);
|
||||||
va_end(ap_copy);
|
va_end(ap_copy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Microsoft version of vsnprintf() is not always null-terminated, so put
|
||||||
|
* the terminator manually
|
||||||
|
*/
|
||||||
|
(*buf)[len] = 0;
|
||||||
/* LCOV_EXCL_STOP */
|
/* LCOV_EXCL_STOP */
|
||||||
} else if (len >= (int) size) {
|
} else if (len >= (int) size) {
|
||||||
/* Standard-compliant code path. Allocate a buffer that is large enough. */
|
/* Standard-compliant code path. Allocate a buffer that is large enough. */
|
||||||
|
19
mongoose.h
19
mongoose.h
@ -210,6 +210,12 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <process.h>
|
#include <process.h>
|
||||||
|
|
||||||
|
#if _MSC_VER < 1700
|
||||||
|
typedef int bool;
|
||||||
|
#else
|
||||||
|
#include <stdbool.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_MSC_VER) && _MSC_VER >= 1800
|
#if defined(_MSC_VER) && _MSC_VER >= 1800
|
||||||
#define strdup _strdup
|
#define strdup _strdup
|
||||||
#endif
|
#endif
|
||||||
@ -323,9 +329,16 @@ typedef struct _stati64 cs_stat_t;
|
|||||||
#define MG_NET_IF MG_NET_IF_SOCKET
|
#define MG_NET_IF MG_NET_IF_SOCKET
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int rmdir(const char *dirname);
|
|
||||||
unsigned int sleep(unsigned int seconds);
|
unsigned int sleep(unsigned int seconds);
|
||||||
|
|
||||||
|
/* https://stackoverflow.com/questions/16647819/timegm-cross-platform */
|
||||||
|
#define timegm _mkgmtime
|
||||||
|
|
||||||
|
#define gmtime_r(a, b) \
|
||||||
|
do { \
|
||||||
|
*(b) = *gmtime(a); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#endif /* CS_PLATFORM == CS_P_WINDOWS */
|
#endif /* CS_PLATFORM == CS_P_WINDOWS */
|
||||||
#endif /* CS_COMMON_PLATFORMS_PLATFORM_WINDOWS_H_ */
|
#endif /* CS_COMMON_PLATFORMS_PLATFORM_WINDOWS_H_ */
|
||||||
#ifdef MG_MODULE_LINES
|
#ifdef MG_MODULE_LINES
|
||||||
@ -374,6 +387,7 @@ unsigned int sleep(unsigned int seconds);
|
|||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -493,6 +507,7 @@ typedef struct stat cs_stat_t;
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <machine/endian.h>
|
#include <machine/endian.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
@ -536,6 +551,7 @@ typedef struct stat cs_stat_t;
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <machine/endian.h>
|
#include <machine/endian.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
@ -642,6 +658,7 @@ int inet_pton(int af, const char *src, void *dst);
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user