The following commit has been merged in the master branch:
commit e2898cfd37a1b134d081111b162d2515d495e413
Author: Guillem Jover <[EMAIL PROTECTED]>
Date:   Tue Jun 10 01:25:23 2008 +0300

    libdpkg: Make varbufprintf use varbufvprintf instead of reimplementing it

diff --git a/ChangeLog b/ChangeLog
index 6a692a9..5b6987a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-10  Guillem Jover  <[EMAIL PROTECTED]>
+
+       * lib/varbuf.c (varbufprintf): Use varbufvprintf instead of
+       reimplementing it.
+
 2008-06-09  Guillem Jover  <[EMAIL PROTECTED]>
 
        * scripts/Dpkg/BuildOptions.pm (parse, set): Use space as the
diff --git a/lib/varbuf.c b/lib/varbuf.c
index 26556e1..63060c2 100644
--- a/lib/varbuf.c
+++ b/lib/varbuf.c
@@ -43,21 +43,13 @@ void varbufdupc(struct varbuf *v, int c, ssize_t n) {
 }
 
 int varbufprintf(struct varbuf *v, const char *fmt, ...) {
-  size_t ou;
   int r;
   va_list al;
 
-  ou= v->used;
-  v->used+= strlen(fmt);
+  va_start(al, fmt);
+  r = varbufvprintf(v, fmt, al);
+  va_end(al);
 
-  do {
-    varbufextend(v);
-    va_start(al,fmt);
-    r= vsnprintf(v->buf+ou,v->size-ou,fmt,al);
-    va_end(al);
-    if (r < 0) r= (v->size-ou+1) * 2;
-    v->used= ou+r;
-  } while (r >= (int)(v->size - ou - 1));
   return r;
 }
 

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to