mirror of https://github.com/nu774/fdkaac.git
support for i686-pc-mingw32 (missing _vscprintf)
This commit is contained in:
parent
61b6a9e383
commit
dac71de305
|
@ -32,7 +32,7 @@ AC_CHECK_TYPES([ptrdiff_t])
|
|||
|
||||
AC_SYS_LARGEFILE
|
||||
AC_FUNC_FSEEKO
|
||||
AC_CHECK_FUNCS([gettimeofday nl_langinfo strdup])
|
||||
AC_CHECK_FUNCS([gettimeofday nl_langinfo strdup _vscprintf])
|
||||
AC_CHECK_FUNC(getopt_long)
|
||||
AM_CONDITIONAL([FDK_NO_GETOPT_LONG],[test "$ac_cv_func_getopt_long" != "yes"])
|
||||
AC_SEARCH_LIBS([aacEncOpen],[fdk-aac],[],[],[])
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <assert.h>
|
||||
#include <io.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/timeb.h>
|
||||
|
@ -92,6 +93,20 @@ char *aacenc_to_utf8(const char *s)
|
|||
return _strdup(s);
|
||||
}
|
||||
|
||||
#if defined(__MINGW32__) && !defined(HAVE__VSCPRINTF)
|
||||
int _vscprintf(const char *fmt, va_list ap)
|
||||
{
|
||||
static int (*fp_vscprintf)(const char *, va_list) = 0;
|
||||
if (!fp_vscprintf) {
|
||||
HANDLE h = GetModuleHandleA("msvcrt.dll");
|
||||
FARPROC fp = GetProcAddress(h, "_vscprintf");
|
||||
InterlockedCompareExchangePointer(&fp_vscprintf, fp, 0);
|
||||
}
|
||||
assert(fp_vscprintf);
|
||||
return fp_vscprintf(fmt, ap);
|
||||
}
|
||||
#endif
|
||||
|
||||
int aacenc_fprintf(FILE *fp, const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
|
Loading…
Reference in New Issue