Support a --quiet option in the test-suite.
[gitweb.git] / entry.c
diff --git a/entry.c b/entry.c
index fc3a506ecef4ed654f26c11996df109dd135a4ed..cfadc6a292033d349f6b1efff75d2c4f9f2525fe 100644 (file)
--- a/entry.c
+++ b/entry.c
@@ -104,7 +104,8 @@ static int write_entry(struct cache_entry *ce, char *path, const struct checkout
        long wrote;
 
        switch (ntohl(ce->ce_mode) & S_IFMT) {
-               char *buf, *new;
+               char *new;
+               struct strbuf buf;
                unsigned long size;
 
        case S_IFREG:
@@ -116,10 +117,12 @@ static int write_entry(struct cache_entry *ce, char *path, const struct checkout
                /*
                 * Convert from git internal format to working tree format
                 */
-               buf = convert_to_working_tree(ce->name, new, &size);
-               if (buf) {
+               strbuf_init(&buf, 0);
+               if (convert_to_working_tree(ce->name, new, size, &buf)) {
+                       size_t newsize = 0;
                        free(new);
-                       new = buf;
+                       new = strbuf_detach(&buf, &newsize);
+                       size = newsize;
                }
 
                if (to_tempfile) {