diff --git a/include/mdbfakeglib.h b/include/mdbfakeglib.h index 751ae0c..663a76b 100644 --- a/include/mdbfakeglib.h +++ b/include/mdbfakeglib.h @@ -5,6 +5,7 @@ #include #include #include +#include // for ntohl #ifdef _WIN32 diff --git a/src/libmdb/fakeglib.c b/src/libmdb/fakeglib.c index 525ddfc..ebe61dc 100644 --- a/src/libmdb/fakeglib.c +++ b/src/libmdb/fakeglib.c @@ -83,6 +83,24 @@ char *g_strconcat(const char *first, ...) { return ret; } +#ifdef _MSC_VER +int vasprintf(char **ret, const char *format, va_list ap) { + int len; + int retval; + char *result; + if ((len = _vscprintf(format, ap)) < 0) + return -1; + if ((result = malloc(len+1)) == NULL) + return -1; + if ((retval = _vsprintf_s(result, len+1, format, ap)) == -1) { + free(result); + return -1; + } + *ret = result; + return retval; +} +#endif + char *g_strdup_printf(const char *format, ...) { char *ret = NULL; va_list argp;