git: 72c848089f3b - main - libc: only append exterr herald and text if exterr was recorded
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Jul 2025 15:55:58 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=72c848089f3b03ee31208ca18f652a16d8fb8352
commit 72c848089f3b03ee31208ca18f652a16d8fb8352
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-07-08 14:01:32 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-07-08 15:55:54 +0000
libc: only append exterr herald and text if exterr was recorded
__uexterr_format: return empty string on no error, instead of "No error"
err(): check for the first symbol of the exterr to decide if there is
anything to print.
Requested and reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D51204
---
lib/libc/gen/err.c | 2 +-
lib/libc/gen/uexterr_format.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/libc/gen/err.c b/lib/libc/gen/err.c
index cdce20af5a91..16cbe27693e7 100644
--- a/lib/libc/gen/err.c
+++ b/lib/libc/gen/err.c
@@ -119,7 +119,7 @@ vexterr(bool doexterr, int code, const char *fmt, va_list ap)
fprintf(err_file, ": ");
}
fprintf(err_file, "%s", strerror(code));
- if (doexterr && extstatus == 0)
+ if (doexterr && extstatus == 0 && exterr[0] != '\0')
fprintf(err_file, " (extended error %s)", exterr);
fprintf(err_file, "\n");
}
diff --git a/lib/libc/gen/uexterr_format.c b/lib/libc/gen/uexterr_format.c
index 86ba40234ae4..e8ddfbd578e3 100644
--- a/lib/libc/gen/uexterr_format.c
+++ b/lib/libc/gen/uexterr_format.c
@@ -20,7 +20,7 @@ __uexterr_format(const struct uexterror *ue, char *buf, size_t bufsz)
if (bufsz > UEXTERROR_MAXLEN)
bufsz = UEXTERROR_MAXLEN;
if (ue->error == 0) {
- strlcpy(buf, "No error", bufsz);
+ strlcpy(buf, "", bufsz);
return (0);
}
if (ue->msg[0] == '\0') {