|
From: <eli...@us...> - 2008-12-22 16:39:02
|
Revision: 3167
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3167&view=rev
Author: elias_naur
Date: 2008-12-22 16:38:57 +0000 (Mon, 22 Dec 2008)
Log Message:
-----------
Windows: Handle missing va_copy macro in MSVC
Modified Paths:
--------------
trunk/LWJGL/src/native/common/common_tools.c
Modified: trunk/LWJGL/src/native/common/common_tools.c
===================================================================
--- trunk/LWJGL/src/native/common/common_tools.c 2008-12-22 16:27:21 UTC (rev 3166)
+++ trunk/LWJGL/src/native/common/common_tools.c 2008-12-22 16:38:57 UTC (rev 3167)
@@ -71,7 +71,11 @@
#ifdef _MSC_VER
return vsnprintf_s(buffer, buffer_size, _TRUNCATE, format, ap);
#else
- return vsnprintf(buffer, buffer_size, format, ap);
+ va_list cp_ap;
+ va_copy(cp_ap, ap);
+ int res = vsnprintf(buffer, buffer_size, format, cp_ap);
+ va_end(cp_ap);
+ return res;
#endif
}
@@ -80,11 +84,9 @@
char *buffer;
jstring str;
int str_size;
- va_list cp_ap;
buffer = (char *)malloc(sizeof(char)*buffer_size);
if (buffer == NULL)
return NULL;
- va_copy(cp_ap, ap);
str_size = do_vsnprintf(buffer, buffer_size, format, ap);
if (str_size > buffer_size) {
free(buffer);
@@ -92,9 +94,8 @@
buffer = (char *)malloc(sizeof(char)*buffer_size);
if (buffer == NULL)
return NULL;
- int blah = do_vsnprintf(buffer, buffer_size, format, cp_ap);
+ do_vsnprintf(buffer, buffer_size, format, ap);
}
- va_end(cp_ap);
str = (*env)->NewStringUTF(env, buffer);
free(buffer);
return str;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|