git-merge --squash
[gitweb.git] / git-compat-util.h
index 12ce6590bb926de2d27eee9520dd2017dd34554e..b3d4cf532e5728e6b962d0d65789f6e8e4bd7fe5 100644 (file)
@@ -9,6 +9,8 @@
 #endif
 #endif
 
+#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
+
 #include <unistd.h>
 #include <stdio.h>
 #include <sys/stat.h>
@@ -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,6 +69,11 @@ 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);