You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/08/10 14:53:55 UTC
svn commit: r802772 -
/commons/sandbox/runtime/trunk/src/main/native/shared/sbuf.c
Author: mturk
Date: Mon Aug 10 12:53:54 2009
New Revision: 802772
URL: http://svn.apache.org/viewvc?rev=802772&view=rev
Log:
MSVC doesn't have va_copy. Use simple assignment instead
Modified:
commons/sandbox/runtime/trunk/src/main/native/shared/sbuf.c
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/sbuf.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/sbuf.c?rev=802772&r1=802771&r2=802772&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/sbuf.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/sbuf.c Mon Aug 10 12:53:54 2009
@@ -303,11 +303,19 @@
return -1;
do {
+#if defined(_MSC_VER)
+ ap_copy = ap;
+#else
va_copy(ap_copy, ap);
+#endif
len = vsnprintf((char *)&s->s_buf[s->s_len], SBUF_FREESPACE(s) + 1,
fmt, ap_copy);
+#if defined(_MSC_VER)
+
+#else
va_end(ap_copy);
- } while (len > SBUF_FREESPACE(s) &&
+#endif
+ } while ((size_t)len > SBUF_FREESPACE(s) &&
acr_sbuf_extend(s, (size_t)(len - SBUF_FREESPACE(s))) == 0);
/*
@@ -319,7 +327,7 @@
* vsnprintf() returns the amount that would have been copied,
* given sufficient space, hence the min() calculation below.
*/
- s->s_len += ACR_MIN(len, SBUF_FREESPACE(s));
+ s->s_len += ACR_MIN((size_t)len, SBUF_FREESPACE(s));
if (!SBUF_HASROOM(s) && !SBUF_CANEXTEND(s))
SBUF_SETFLAG(s, ACR_SBUF_OVERFLOWED);