Hi. On Fri, Feb 17, 2023 at 07:46:23AM +0100, Andreas Leha wrote: > Now my question: How can I restore the previous behaviour that allowed > other than whitespace separators between fields?
diff -purw procps-3.3.17/ps/sortformat.c procps-4.0.2/src/ps/sortformat.c shows me that: @@ -128,22 +127,24 @@ static const char *aix_format_parse(sf_n items = 0; walk = sfn->sf; /* state machine */ { - int c; + int c = *walk++; initial: - c = *walk++; if(c=='%') goto get_desc; if(!c) goto looks_ok; /* get_text: */ items++; - get_more_text: + get_more: c = *walk++; if(c=='%') goto get_desc; - if(c) goto get_more_text; + if(c==' ') goto get_more; + if(c) goto aix_oops; goto looks_ok; get_desc: items++; c = *walk++; - if(c) goto initial; + if(c&&c!=' ') goto initial; + return _("missing AIX field descriptor"); + aix_oops: return _("improper AIX field descriptor"); looks_ok: ; If you look at "get_more" label, you'll notice that "old" version of procps (bullseye's) checked for any character after "%<char>" block. "New" one (bookworm's) explicitly checks for space, and goes to "aix_oops" in any other case. And there is no #ifdefs, no environment variable checks, no options etc. So, to answer your question - currently the only way to restore the behaviour you want is to patch procps and rebuild it. Reco