library: ensure any 'flags' is consistently 'unsigned'
This commit is an outgrowth of the research into a bug that recently surfaced with the 'w' program. And while that program was just a victim several inconsistencies were found in the handling of library flags during the research. This patch just address such irregularities. Reference(s): http://www.freelists.org/post/procps/newlib-at-the-precipice,4 Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
parent
c39f4735c0
commit
5e46a145ba
@ -848,7 +848,7 @@ static inline void oldproc_close (
|
|||||||
|
|
||||||
static inline int oldproc_open (
|
static inline int oldproc_open (
|
||||||
struct procps_pidsinfo *info,
|
struct procps_pidsinfo *info,
|
||||||
int supp_flgs,
|
unsigned supp_flgs,
|
||||||
...)
|
...)
|
||||||
{
|
{
|
||||||
va_list vl;
|
va_list vl;
|
||||||
|
@ -1319,7 +1319,7 @@ end_procs:
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// initiate a process table scan
|
// initiate a process table scan
|
||||||
PROCTAB* openproc(int flags, ...) {
|
PROCTAB* openproc(unsigned flags, ...) {
|
||||||
va_list ap;
|
va_list ap;
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
static int did_stat;
|
static int did_stat;
|
||||||
@ -1401,7 +1401,7 @@ HIDDEN_ALIAS(readeither);
|
|||||||
* Free allocated memory with exit(). Access via tab[N]->member. The pointer
|
* Free allocated memory with exit(). Access via tab[N]->member. The pointer
|
||||||
* list is NULL terminated.
|
* list is NULL terminated.
|
||||||
*/
|
*/
|
||||||
proc_t** readproctab(int flags, ...) {
|
proc_t** readproctab(unsigned flags, ...) {
|
||||||
PROCTAB* PT = NULL;
|
PROCTAB* PT = NULL;
|
||||||
proc_t** tab = NULL;
|
proc_t** tab = NULL;
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
@ -210,7 +210,7 @@ typedef struct PROCTAB {
|
|||||||
} PROCTAB;
|
} PROCTAB;
|
||||||
|
|
||||||
// Initialize a PROCTAB structure holding needed call-to-call persistent data
|
// Initialize a PROCTAB structure holding needed call-to-call persistent data
|
||||||
extern PROCTAB* openproc(int flags, ... /* pid_t*|uid_t*|dev_t*|char* [, int n] */ );
|
extern PROCTAB* openproc(unsigned flags, ... /* pid_t*|uid_t*|dev_t*|char* [, int n] */ );
|
||||||
|
|
||||||
typedef struct proc_data_t { // valued by: (else zero)
|
typedef struct proc_data_t { // valued by: (else zero)
|
||||||
proc_t **tab; // readproctab2, readproctab3
|
proc_t **tab; // readproctab2, readproctab3
|
||||||
@ -228,7 +228,7 @@ extern proc_data_t *readproctab3(int(*want_task)(proc_t *buf), PROCTAB *__restri
|
|||||||
// table subset satisfying the constraints of flags and the optional PID list.
|
// table subset satisfying the constraints of flags and the optional PID list.
|
||||||
// Free allocated memory with exit(). Access via tab[N]->member. The pointer
|
// Free allocated memory with exit(). Access via tab[N]->member. The pointer
|
||||||
// list is NULL terminated.
|
// list is NULL terminated.
|
||||||
extern proc_t** readproctab(int flags, ... /* same as openproc */ );
|
extern proc_t** readproctab(unsigned flags, ... /* same as openproc */ );
|
||||||
|
|
||||||
// Clean-up open files, etc from the openproc()
|
// Clean-up open files, etc from the openproc()
|
||||||
extern void closeproc(PROCTAB* PT);
|
extern void closeproc(PROCTAB* PT);
|
||||||
|
Loading…
Reference in New Issue
Block a user