* fix new wprintf backend to handle buffer increases
authorWilfried Göesgens <willi@citadel.org>
Sat, 2 Aug 2008 11:38:19 +0000 (11:38 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sat, 2 Aug 2008 11:38:19 +0000 (11:38 +0000)
libcitadel/debian/changelog
libcitadel/debian/files
libcitadel/lib/stringbuf.c

index e51874cb602fdbe2acc0a0989c0cd6b4cb87d7fd..a31e3fa57bc95c1c756e46f8a2341e05104f4604 100644 (file)
@@ -1,3 +1,9 @@
+libcitadel (7.38-8) stable; urgency=low
+
+  * new upstream version
+
+ -- Wilfried Goesgens <w.goesgens@outgesourced.org>  Thu, 1 Aug 2008 22:00:00 +0002
+
 libcitadel (7.37-7) stable; urgency=low
 
   * new upstream version
index 5809b7f53d1349d7ff0a52d6f3e7d5192afb1092..d2ac0561c0b0a03d7eab551e7db9c29484f59207 100644 (file)
@@ -1,3 +1,3 @@
-libcitadel1_7.37-7_i386.deb libs optional
-libcitadel1-dbg_7.37-7_i386.deb libdevel optional
-libcitadel-dev_7.37-7_i386.deb libdevel optional
+libcitadel1_7.38-8_i386.deb libs optional
+libcitadel1-dbg_7.38-8_i386.deb libdevel optional
+libcitadel-dev_7.38-8_i386.deb libdevel optional
index 5a991df5a91d0b307a73aa2201df315b2c8f7f04..0e9fb0e504f626c67d5e37cbc5568721697d978b 100644 (file)
@@ -254,14 +254,18 @@ void StrBufVAppendPrintf(StrBuf *Buf, const char *format, va_list ap)
 {
        size_t nWritten = Buf->BufSize + 1;
        size_t Offset = Buf->BufUsed;
+       size_t newused = Offset + nWritten;
        
-       while (Offset + nWritten >= Buf->BufSize) {
+       while (newused >= Buf->BufSize) {
                nWritten = vsnprintf(Buf->buf + Offset, 
                                     Buf->BufSize - Offset, 
                                     format, ap);
-               Buf->BufUsed = Offset + nWritten ;
-               if (nWritten >= Buf->BufSize)
-                       IncreaseBuf(Buf, 0, 0);
+               newused = Offset + nWritten;
+               if (newused >= Buf->BufSize)
+                       IncreaseBuf(Buf, 1, 0);
+               else
+                       Buf->BufUsed = Offset + nWritten ;
+
        }
 }