Browse Source

usage: add get_error_routine() and get_warn_routine()

Let's make it possible to get the current error_routine and warn_routine,
so that we can store them before using set_error_routine() or
set_warn_routine() to use new ones.

This way we will be able put back the original routines, when we are done
with using new ones.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Christian Couder 9 years ago committed by Junio C Hamano
parent
commit
725149beab
  1. 2
      git-compat-util.h
  2. 10
      usage.c

2
git-compat-util.h

@ -440,7 +440,9 @@ static inline int const_error(void)


extern void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list params)); extern void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list params));
extern void set_error_routine(void (*routine)(const char *err, va_list params)); extern void set_error_routine(void (*routine)(const char *err, va_list params));
extern void (*get_error_routine(void))(const char *err, va_list params);
extern void set_warn_routine(void (*routine)(const char *warn, va_list params)); extern void set_warn_routine(void (*routine)(const char *warn, va_list params));
extern void (*get_warn_routine(void))(const char *warn, va_list params);
extern void set_die_is_recursing_routine(int (*routine)(void)); extern void set_die_is_recursing_routine(int (*routine)(void));
extern void set_error_handle(FILE *); extern void set_error_handle(FILE *);



10
usage.c

@ -70,11 +70,21 @@ void set_error_routine(void (*routine)(const char *err, va_list params))
error_routine = routine; error_routine = routine;
} }


void (*get_error_routine(void))(const char *err, va_list params)
{
return error_routine;
}

void set_warn_routine(void (*routine)(const char *warn, va_list params)) void set_warn_routine(void (*routine)(const char *warn, va_list params))
{ {
warn_routine = routine; warn_routine = routine;
} }


void (*get_warn_routine(void))(const char *warn, va_list params)
{
return warn_routine;
}

void set_die_is_recursing_routine(int (*routine)(void)) void set_die_is_recursing_routine(int (*routine)(void))
{ {
die_is_recursing = routine; die_is_recursing = routine;

Loading…
Cancel
Save