]> granicus.if.org Git - procps-ng/commitdiff
top: relocate the 'fatal_proc_unmounted' function call
authorJim Warner <james.warner@comcast.net>
Tue, 29 Dec 2020 06:00:00 +0000 (00:00 -0600)
committerCraig Small <csmall@dropbear.xyz>
Sat, 2 Jan 2021 04:42:10 +0000 (15:42 +1100)
With the restoration of corrupt utf8 multibyte editing
to the library, it's important to establish the proper
locale before calling that 'fatal_proc_unmounted' guy.

He calls the original 'look_up_our_self' who, in turn,
will invoke 'stat2proc' which then calls 'escape_str'.
Once there, it's too late to effect changes to locale.

[ the result would be lots and lots of '?' displayed ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c

index 7da896b024cc2015e47181fce91a23b49c086b4f..a2054f8330329c71c5513c621153ae28e9be828e 100644 (file)
--- a/top/top.c
+++ b/top/top.c
@@ -3209,16 +3209,17 @@ static void before (char *me) {
 
    atexit(close_stdout);
 
-   // is /proc mounted?
-   fatal_proc_unmounted(NULL, 0);
-
    // setup our program name
    Myname = strrchr(me, '/');
    if (Myname) ++Myname; else Myname = me;
 
    // accommodate nls/gettext potential translations
+   // ( must 'setlocale' before our libproc called )
    initialize_nls();
 
+   // is /proc mounted?
+   fatal_proc_unmounted(NULL, 0);
+
 #ifndef OFF_STDERROR
    /* there's a chance that damn libnuma may spew to stderr so we gotta
       make sure he does not corrupt poor ol' top's first output screen!