Merge branch 'maint'
[gitweb.git] / cache.h
diff --git a/cache.h b/cache.h
index cec19ba4489f858a0dd7f6701c2411ab6d29b938..ed83d92c5a2735b2b7f8a7fc06276acbf0df8b18 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -234,8 +234,11 @@ extern void verify_non_filename(const char *prefix, const char *name);
  */
 #define ALLOC_GROW(x, nr, alloc) \
        do { \
-               if ((nr) >= alloc) { \
-                       alloc = alloc_nr(alloc); \
+               if ((nr) > alloc) { \
+                       if (alloc_nr(alloc) < (nr)) \
+                               alloc = (nr); \
+                       else \
+                               alloc = alloc_nr(alloc); \
                        x = xrealloc((x), alloc * sizeof(*(x))); \
                } \
        } while(0)