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. |