set_try_to_free_routine(NULL) means "do nothing special"

This way, the next caller that wants to disable our memory reclamation
machinery does not have to define its own do_nothing() stub.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2010-12-21 09:24:18 -08:00
Родитель 6068ac8848
Коммит 00b0d7f77b
2 изменённых файлов: 4 добавлений и 6 удалений

Просмотреть файл

@ -25,10 +25,6 @@
#include "cache.h"
#include "quote.h"
static void do_nothing(size_t unused)
{
}
/* Get a trace file descriptor from GIT_TRACE env variable. */
static int get_trace_fd(int *need_close)
{
@ -76,7 +72,7 @@ void trace_printf(const char *fmt, ...)
if (!fd)
return;
set_try_to_free_routine(do_nothing); /* is never reset */
set_try_to_free_routine(NULL); /* is never reset */
strbuf_init(&buf, 64);
va_start(ap, fmt);
len = vsnprintf(buf.buf, strbuf_avail(&buf), fmt, ap);
@ -108,7 +104,7 @@ void trace_argv_printf(const char **argv, const char *fmt, ...)
if (!fd)
return;
set_try_to_free_routine(do_nothing); /* is never reset */
set_try_to_free_routine(NULL); /* is never reset */
strbuf_init(&buf, 64);
va_start(ap, fmt);
len = vsnprintf(buf.buf, strbuf_avail(&buf), fmt, ap);

Просмотреть файл

@ -12,6 +12,8 @@ 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)
{
try_to_free_t old = try_to_free_routine;
if (!routine)
routine = do_nothing;
try_to_free_routine = routine;
return old;
}