]> granicus.if.org Git - procps-ng/commitdiff
ps: provide 'namespace' protection for 32-bit compiles
authorJim Warner <james.warner@comcast.net>
Sat, 3 Dec 2016 10:05:06 +0000 (04:05 -0600)
committerCraig Small <csmall@enc.com.au>
Wed, 7 Dec 2016 10:51:14 +0000 (21:51 +1100)
This patch ensures that namespace output will look the
same whether ps is built under a 32 or a 64-bit model.

[ it would have been easier to change that library's ]
[ data type, but we'll avoid breaking that ABI again ]

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

index 62b23c19c513ef8dea8802304e6ff58450f0abaa..8c6a52892c3abe30793a1c213d8ec0fd9953b5d9 100644 (file)
@@ -147,8 +147,8 @@ static int sr_ ## NAME (const proc_t* P, const proc_t* Q) { \
 
 #define CMP_NS(NAME, ID) \
 static int sr_ ## NAME (const proc_t* P, const proc_t* Q) { \
-    if (P->ns[ID] < Q->ns[ID]) return -1; \
-    if (P->ns[ID] > Q->ns[ID]) return  1; \
+    if ((unsigned long)P->ns[ID] < (unsigned long)Q->ns[ID]) return -1; \
+    if ((unsigned long)P->ns[ID] > (unsigned long)Q->ns[ID]) return  1; \
     return 0; \
 }
 
@@ -1236,7 +1236,7 @@ static int pr_sd_slice(char *restrict const outbuf, const proc_t *restrict const
 #define _pr_ns(NAME, ID)\
 static int pr_##NAME(char *restrict const outbuf, const proc_t *restrict const pp) {\
   if (pp->ns[ID])\
-    return snprintf(outbuf, COLWID, "%li", pp->ns[ID]);\
+    return snprintf(outbuf, COLWID, "%lu", (unsigned long)pp->ns[ID]);\
   else\
     return snprintf(outbuf, COLWID, "-");\
 }