From 2d3e5d9e74c20598f067ea3b40d796374ed3bb85 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sat, 2 Aug 2008 11:38:19 +0000 Subject: [PATCH] * fix new wprintf backend to handle buffer increases --- libcitadel/debian/changelog | 6 ++++++ libcitadel/debian/files | 6 +++--- libcitadel/lib/stringbuf.c | 12 ++++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/libcitadel/debian/changelog b/libcitadel/debian/changelog index e51874cb6..a31e3fa57 100644 --- a/libcitadel/debian/changelog +++ b/libcitadel/debian/changelog @@ -1,3 +1,9 @@ +libcitadel (7.38-8) stable; urgency=low + + * new upstream version + + -- Wilfried Goesgens Thu, 1 Aug 2008 22:00:00 +0002 + libcitadel (7.37-7) stable; urgency=low * new upstream version diff --git a/libcitadel/debian/files b/libcitadel/debian/files index 5809b7f53..d2ac0561c 100644 --- a/libcitadel/debian/files +++ b/libcitadel/debian/files @@ -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 diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index 5a991df5a..0e9fb0e50 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -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 ; + } } -- 2.30.2