]> err.no Git - dpkg/commitdiff
libdpkg: Make varbufprintf use varbufvprintf instead of reimplementing it
authorGuillem Jover <guillem@debian.org>
Mon, 9 Jun 2008 22:25:23 +0000 (01:25 +0300)
committerGuillem Jover <guillem@debian.org>
Tue, 10 Jun 2008 02:24:00 +0000 (05:24 +0300)
ChangeLog
lib/varbuf.c

index 6a692a95edd6dcec904a5fcebf6859e37de2c398..5b6987ad027d2ce0c64713af41846a13fcb1a5df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-10  Guillem Jover  <guillem@debian.org>
+
+       * lib/varbuf.c (varbufprintf): Use varbufvprintf instead of
+       reimplementing it.
+
 2008-06-09  Guillem Jover  <guillem@debian.org>
 
        * scripts/Dpkg/BuildOptions.pm (parse, set): Use space as the
index 26556e1872c5fbbf87ff0352f406d07e9f7e14d2..63060c212fa2646e551b56ab0b84111435da7c9d 100644 (file)
@@ -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;
 }