[PATCH v2 90/94] usage: add get_error_routine() and get_warn_routine()
From: Christian Couder <hidden>
Date: 2016-06-16 02:19:19
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- git-compat-util.h | 2 ++ usage.c | 10 ++++++++++ 2 files changed, 12 insertions(+)
diff --git a/git-compat-util.h b/git-compat-util.h
index 987eb99..73446af 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h@@ -438,7 +438,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_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 (*get_warn_routine(void))(const char *warn, va_list params); extern void set_die_is_recursing_routine(int (*routine)(void)); extern void set_error_handle(FILE *);
diff --git a/usage.c b/usage.c
index 8fbedb3..825bd92 100644
--- a/usage.c
+++ b/usage.c@@ -70,11 +70,21 @@ void set_error_routine(void (*routine)(const char *err, va_list params)) 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)) { 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)) { die_is_recursing = routine;
--
2.8.2.490.g3dabe57