From a4251e93f8cb008607bf9b50bd2fd95d3223dad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Thu, 6 Mar 2025 14:43:44 +0100 Subject: [PATCH] top: Make locale issues non-fatal. If the `setlocale()` call fails, emit a warning and sleep briefly so the user has a chance to see the warning before we redraw the screen. Note that we have no way of knowing exactly what is wrong, but at least we can suggest that they check their environment. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D49230 (cherry picked from commit 180065eb09e699820a1e1c45d3d00156e0effe29) --- usr.bin/top/top.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/top/top.c b/usr.bin/top/top.c index 2b468c453e2..856ad838dc1 100644 --- a/usr.bin/top/top.c +++ b/usr.bin/top/top.c @@ -266,8 +266,8 @@ main(int argc, const char *argv[]) #endif if (setlocale(LC_ALL, "") == NULL) { - fprintf(stderr, "invalid locale.\n"); - exit(1); + warnx("invalid locale, check your environment"); + sleep(2); } mypid = getpid();