r5937: - performance improvement to talloc_asprintf_append()
[samba.git] / source4 / lib / talloc / talloc.c
index 291ee5a8bfb5dc4ae00e68bc736c40921c2fe470..72765448c7912c1af0a432945ea8bcc2fe2a70f2 100644 (file)
@@ -946,16 +946,13 @@ static char *talloc_vasprintf_append(char *s, const char *fmt, va_list ap) PRINT
 
 static char *talloc_vasprintf_append(char *s, const char *fmt, va_list ap)
 {      
+       struct talloc_chunk *tc = talloc_chunk_from_ptr(s);
        int len, s_len;
        va_list ap2;
 
        VA_COPY(ap2, ap);
 
-       if (s) {
-               s_len = strlen(s);
-       } else {
-               s_len = 0;
-       }
+       s_len = tc->size - 1;
        len = vsnprintf(NULL, 0, fmt, ap2);
 
        s = talloc_realloc(NULL, s, char, s_len + len+1);