about summary refs log tree commit diff
path: root/third_party/git/usage.c
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-05-25T23·06+0100
committerVincent Ambo <tazjin@google.com>2020-05-25T23·06+0100
commit93ba78d6f4632ef1c5228965e3edc8c0faf88c1e (patch)
tree85730c182a9f5f492ade8e8ccdb1c2356f9900bd /third_party/git/usage.c
parent6f8fbf4aa4b1654ab27d4829e114538761817de0 (diff)
revert(3p/git): Revert merge of git upstream at v2.26.2 r/852
This causes cgit to serve error pages, which is undesirable.

This reverts commit 5229c9b232de5bfa959ad6ebbb4c8192ac513352, reversing
changes made to f2b211131f2347342dde63975b09cf603149f1a3.
Diffstat (limited to 'third_party/git/usage.c')
-rw-r--r--third_party/git/usage.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/third_party/git/usage.c b/third_party/git/usage.c
index 58fb5fff5f..2fdb20086b 100644
--- a/third_party/git/usage.c
+++ b/third_party/git/usage.c
@@ -9,26 +9,14 @@
 void vreportf(const char *prefix, const char *err, va_list params)
 {
 	char msg[4096];
-	char *p, *pend = msg + sizeof(msg);
-	size_t prefix_len = strlen(prefix);
+	char *p;
 
-	if (sizeof(msg) <= prefix_len) {
-		fprintf(stderr, "BUG!!! too long a prefix '%s'\n", prefix);
-		abort();
-	}
-	memcpy(msg, prefix, prefix_len);
-	p = msg + prefix_len;
-	if (vsnprintf(p, pend - p, err, params) < 0)
-		*p = '\0'; /* vsnprintf() failed, clip at prefix */
-
-	for (; p != pend - 1 && *p; p++) {
+	vsnprintf(msg, sizeof(msg), err, params);
+	for (p = msg; *p; p++) {
 		if (iscntrl(*p) && *p != '\t' && *p != '\n')
 			*p = '?';
 	}
-
-	*(p++) = '\n'; /* we no longer need a NUL */
-	fflush(stderr);
-	write_in_full(2, msg, p - msg);
+	fprintf(stderr, "%s%s\n", prefix, msg);
 }
 
 static NORETURN void usage_builtin(const char *err, va_list params)