procps/proc
Jim Warner a221b9084a library: refactor 'escape' logic for newlib essentials
This new library provides callers with pure strings or
string vectors. It is up to those callers to deal with
potential utf8 multibyte characters and any difference
between strlen and the corresponding printable widths.

So, it makes no sense for the library to go to all the
trouble of invoking those rather expensive 'mbrtowc' &
'wcwidth' functions to ultimately yield total 'cells'.

Thus, this patch will eliminate all the code and parms
that are involved with such possible multibyte issues.

[ Along the way we'll lose the ability to substitute ]
[ '?' for an invalid/unprintable multibyte sequence. ]
[ We will, however, replace ctrl chars with the '?'. ]

[ This presents no problem for that ps program since ]
[ it now duplicates all of the original escape code. ]
[ And, we'll no longer be executing that code twice! ]

[ As for the top program, it takes the position that ]
[ it is wrong to alter kernel supplied data. So with ]
[ potential invalid/unprintable stuff, he'll rely on ]
[ terminal emulators to properly handle such issues! ]

[ Besides, even using a proper multibyte string, not ]
[ all terminals generate the proper printable width. ]
[ This is especially true when it comes to an emoji. ]

[ And should callers chose not to be portable to all ]
[ locales by calling setlocale(LC_ALL, ""), they can ]
[ expect to see lots of "?", regardless of what this ]
[ library fixes in a faulty multibyte string anyway. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
2020-12-29 08:48:23 +11:00
..
.gitignore build-sys: added a 'test_Itemtables' to testing scheme 2020-08-17 21:49:14 +10:00
COPYING miscellaneous: clean up trailing whitespace once again 2013-04-07 18:05:01 +10:00
devname.c 0040-proc/devname.c: Never write more than "chop" (part 2). 2018-06-09 21:35:19 +10:00
devname.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
diskstats.c library: eliminate one potential source of human error 2020-08-26 21:50:20 +10:00
diskstats.h library: ensure 'XTRA_PROCPS_DEBUG' works in real life 2020-07-29 19:01:50 +10:00
escape.c library: refactor 'escape' logic for newlib essentials 2020-12-29 08:48:23 +11:00
escape.h library: refactor 'escape' logic for newlib essentials 2020-12-29 08:48:23 +11:00
libprocps.pc.in Renaming libprocfs to libprocps 2011-12-23 09:18:43 +11:00
libprocps.sym library: make that 'escape_str' private to our library 2020-07-05 21:13:01 +10:00
meminfo.c library: eliminate one potential source of human error 2020-08-26 21:50:20 +10:00
meminfo.h library: <meminfo> api, update for current linux state 2020-08-09 22:19:46 +10:00
namespace.c library: ensure 'namespace' types treated consistently 2017-01-04 08:29:44 +11:00
namespace.h library: replace the troublesome '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
numa.c library: set stage for NUMA node field display support 2017-05-22 21:38:10 +10:00
numa.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
pids.c library: extend ITEMTABLE_DEBUG just a tad, <PIDS> api 2020-12-29 08:48:23 +11:00
pids.h library: ensure 'XTRA_PROCPS_DEBUG' works in real life 2020-07-29 19:01:50 +10:00
procps-private.h library: eliminate unused 'FUNCTION' in private header 2020-09-13 10:00:49 +10:00
pwcache.c library: eliminate all dependencies on alloc.h/alloc.c 2017-12-20 21:18:53 +11:00
pwcache.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
readproc.c library: refactor 'escape' logic for newlib essentials 2020-12-29 08:48:23 +11:00
readproc.h library: refactor 'escape' logic for newlib essentials 2020-12-29 08:48:23 +11:00
slabinfo.c library: eliminate one potential source of human error 2020-08-26 21:50:20 +10:00
slabinfo.h library: ensure 'XTRA_PROCPS_DEBUG' works in real life 2020-07-29 19:01:50 +10:00
stat.c library: tweak those system cpu statistics, <stat> api 2020-09-13 10:00:49 +10:00
stat.h library: tweak those system cpu statistics, <stat> api 2020-09-13 10:00:49 +10:00
sysinfo.c library: eliminate all dependencies on alloc.h/alloc.c 2017-12-20 21:18:53 +11:00
sysinfo.h library: replace the troublesome '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
test_Itemtables.c build-sys: proper fix for the 'test_Itemtables' module 2020-08-18 10:19:53 +10:00
test_namespace.c library: eliminated the questionable 'procps.h' header 2020-07-05 21:13:01 +10:00
test_pids.c testsuite: Correct include 2020-07-05 21:18:36 +10:00
test_sysinfo.c tests: update template and add pids 2016-04-19 21:33:02 +10:00
test_uptime.c library: eliminated the questionable 'procps.h' header 2020-07-05 21:13:01 +10:00
test_version.c library: Fix LINUX_VERSION macro 2016-05-01 17:46:25 +10:00
uptime.c 0047-proc/whattime.c: Always initialize buf. 2018-06-09 21:35:19 +10:00
uptime.h library: replace the troublesome '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
version.c miscellaneous: remove some trailing whitespace buildup 2015-06-20 07:46:23 +10:00
version.h library: replace the troublesome '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
vmstat.c library: eliminate one potential source of human error 2020-08-26 21:50:20 +10:00
vmstat.h library: <vmstat> api, updated for current linux state 2020-08-09 22:19:46 +10:00
wchan.c library: don't strip off prefixes from the wchan names 2016-12-07 22:07:00 +11:00
wchan.h library: eliminate inappropriate '__BEGIN_DECLS' macro 2018-05-06 07:19:38 +10:00
xtra-procps-debug.h library: ensure 'XTRA_PROCPS_DEBUG' works in real life 2020-07-29 19:01:50 +10:00