library: exchange <pids> 'addr' for that 'ul_int' type

Work on converting ps has revealed the desirability of
trading a void pointer for that ul_int type. There was
much arithmetic employed against such values and casts
would otherwise have been required. Even pmap needed a
cast on occasions when comparing an internal variable.

Besides, there is much to be said for reducing demands
on (and the complexity of) the result structure union.

[ we choose ul_int over ull_int since that former is ]
[ the exact same size and capacity as a void pointer ]
[ regardless of whether compiled as 32-bit or 64-bit ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner
2015-09-09 00:00:00 -05:00
committed by Craig Small
parent 105c69164b
commit f0e447cc66
2 changed files with 18 additions and 24 deletions

View File

@@ -26,11 +26,11 @@
__BEGIN_DECLS
enum pids_item {
PROCPS_PIDS_ADDR_END_CODE, // addr
PROCPS_PIDS_ADDR_KSTK_EIP, // addr
PROCPS_PIDS_ADDR_KSTK_ESP, // addr
PROCPS_PIDS_ADDR_START_CODE, // addr
PROCPS_PIDS_ADDR_START_STACK, // addr
PROCPS_PIDS_ADDR_END_CODE, // ul_int
PROCPS_PIDS_ADDR_KSTK_EIP, // ul_int
PROCPS_PIDS_ADDR_KSTK_ESP, // ul_int
PROCPS_PIDS_ADDR_START_CODE, // ul_int
PROCPS_PIDS_ADDR_START_STACK, // ul_int
PROCPS_PIDS_ALARM, // sl_int
PROCPS_PIDS_CGROUP, // str
PROCPS_PIDS_CGROUP_V, // strv
@@ -133,7 +133,7 @@ enum pids_item {
PROCPS_PIDS_VM_SWAP, // ul_int
PROCPS_PIDS_VM_USED, // ul_int
PROCPS_PIDS_VSIZE_PGS, // ul_int
PROCPS_PIDS_WCHAN_ADDR, // addr
PROCPS_PIDS_WCHAN_ADDR, // ul_int
PROCPS_PIDS_WCHAN_NAME, // str
PROCPS_PIDS_extra, // ( reset to zero )
PROCPS_PIDS_noop // ( never altered )
@@ -166,7 +166,6 @@ struct pids_result {
long sl_int;
unsigned long ul_int;
unsigned long long ull_int;
void * addr;
char * str;
char ** strv;
} result;