diff options
-rw-r--r-- | hugin.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -44,6 +44,10 @@ # ifdef WIN32 # include <windows.h> typedef HANDLE mutex_t; + +// see http://stackoverflow.com/questions/558223/va-copy-porting-to-visual-c +#define va_copy(dest, src) (dest = src) + # else # include <pthread.h> typedef pthread_mutex_t mutex_t; @@ -403,8 +407,14 @@ int __debug(const char *func, const int line, va_list va; va_start(va, fmt); + // Use a copy of va_list for 64bit fix: + // see http://www.bailopan.net/blog/?p=30 + // + // Not available in windows. So hugin may break in 64bit windows + va_list vacpy; va_copy(vacpy, va); + hdr_bufsz = scprintf(hdr_fmt, HDR_ARGS); msg_bufsz = vscprintf(fmt, vacpy); if(hdr_bufsz < 0 || msg_bufsz < 0) return 1; // Bad format? |