usage.c: add warning_errno() and error_errno()

Similar to die_errno(), these functions will append strerror() automatically. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed May 8, 2016 at 16:47 UTC fd1d672300f36b2b06c2951ec450de0cf8f17797
2 files changed +23
git-compat-util.h
+2
@@ -412,7 +412,9 @@ extern NORETURN void usagef(const char *err, ...) __attribute__((format (printf,
412 extern NORETURN void die(const char *err, ...) __attribute__((format (printf, 1, 2)));
413 extern NORETURN void die_errno(const char *err, ...) __attribute__((format (printf, 1, 2)));
414 extern int error(const char *err, ...) __attribute__((format (printf, 1, 2)));
415 +extern int error_errno(const char *err, ...) __attribute__((format (printf, 1, 2)));
416 extern void warning(const char *err, ...) __attribute__((format (printf, 1, 2)));
417 +extern void warning_errno(const char *err, ...) __attribute__((format (printf, 1, 2)));
418
419 #ifndef NO_OPENSSL
420 #ifdef APPLE_COMMON_CRYPTO
usage.c
+21
@@ -148,6 +148,17 @@ void NORETURN die_errno(const char *fmt, ...)
148 va_end(params);
149 }
150
151 +int error_errno(const char *fmt, ...)
152 +{
153 + char buf[1024];
154 + va_list params;
155 +
156 + va_start(params, fmt);
157 + error_routine(fmt_with_err(buf, sizeof(buf), fmt), params);
158 + va_end(params);
159 + return -1;
160 +}
161 +
162 #undef error
163 int error(const char *err, ...)
164 {
@@ -159,6 +170,16 @@ int error(const char *err, ...)
170 return -1;
171 }
172
173 +void warning_errno(const char *warn, ...)
174 +{
175 + char buf[1024];
176 + va_list params;
177 +
178 + va_start(params, warn);
179 + warn_routine(fmt_with_err(buf, sizeof(buf), warn), params);
180 + va_end(params);
181 +}
182 +
183 void warning(const char *warn, ...)
184 {
185 va_list params;