path: root/wrapper.c
diff options
authorJonathan Nieder <>2010-11-06 19:00:38 (GMT)
committerJunio C Hamano <>2010-11-10 19:11:07 (GMT)
commite0500293852910c2f44fce61e7eb856adbc20d8a (patch)
treeae21f4a803f2092986b7db1f74040a0116e22373 /wrapper.c
parentbc9b21755ebf82d06a60886947bdbd8d0f14baf1 (diff)
Remove pack file handling dependency from wrapper.o
As v1.7.0-rc0~43 (slim down "git show-index", 2010-01-21) explains, use of xmalloc() brings in a dependency on zlib, the sha1 lib, and the rest of git's object file access machinery via try_to_free_pack_memory. That is overkill when xmalloc is just being used as a convenience wrapper to exit when no memory is available. So defer setting try_to_free_pack_memory as try_to_free_routine until the first packfile is opened in add_packed_git(). After this change, a simple program using xmalloc() and no other functions will not pull in any code from libgit.a aside from wrapper.o and usage.o. Improved-by: René Scharfe <> Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'wrapper.c')
1 files changed, 2 insertions, 3 deletions
diff --git a/wrapper.c b/wrapper.c
index 185dfbc..4c1639f 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -3,12 +3,11 @@
#include "cache.h"
-static void try_to_free_builtin(size_t size)
+static void do_nothing(size_t size)
- release_pack_memory(size, -1);
-static void (*try_to_free_routine)(size_t size) = try_to_free_builtin;
+static void (*try_to_free_routine)(size_t size) = do_nothing;
try_to_free_t set_try_to_free_routine(try_to_free_t routine)