X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-compat-util.h;h=93f558056dec457570bf2867dc6c75cd5891d2f2;hb=57be46fd213b448f66b1470187109e7d6ad6f475;hp=12ce6590bb926de2d27eee9520dd2017dd34554e;hpb=8f1d2e6f49ee51ac062ab38337a6a70dd1998def;p=git.git diff --git a/git-compat-util.h b/git-compat-util.h index 12ce6590b..93f558056 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -9,6 +9,8 @@ #endif #endif +#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) + #include #include #include @@ -38,6 +40,10 @@ extern void usage(const char *err) NORETURN; extern void die(const char *err, ...) NORETURN __attribute__((format (printf, 1, 2))); extern int error(const char *err, ...) __attribute__((format (printf, 1, 2))); +extern void set_usage_routine(void (*routine)(const char *err) NORETURN); +extern void set_die_routine(void (*routine)(const char *err, va_list params) NORETURN); +extern void set_error_routine(void (*routine)(const char *err, va_list params)); + #ifdef NO_MMAP #ifndef PROT_READ @@ -63,11 +69,21 @@ extern int gitfakemunmap(void *start, size_t length); extern int gitsetenv(const char *, const char *, int); #endif +#ifdef NO_UNSETENV +#define unsetenv gitunsetenv +extern void gitunsetenv(const char *); +#endif + #ifdef NO_STRCASESTR #define strcasestr gitstrcasestr extern char *gitstrcasestr(const char *haystack, const char *needle); #endif +#ifdef NO_STRLCPY +#define strlcpy gitstrlcpy +extern size_t gitstrlcpy(char *, const char *, size_t); +#endif + static inline void *xmalloc(size_t size) { void *ret = malloc(size);