library: procps_uptime() return value is a status
procps_uptime, previously just plain uptime() used to put the uptime (as a double) in the first argument and return uptime (as an int). It meant if you ran myuptime2 = procps_uptime(&myuptime1, NULL); You might get different results for myuptime1 and myuptime2 because they are different types. Most library calls use the return value to return the status, procps_uptime was in the middle. Until now. This function will return 0 on success. If you want (for whatever reason) uptime as an int then cast it. All of the procps binaries didn't use the return value for uptime except ps which set a variable to it but never used it anywhere.
This commit is contained in:
@ -30,7 +30,7 @@ int check_uptime(void *data)
|
||||
double up=0, idle=0;
|
||||
int rc;
|
||||
rc = procps_uptime(&up, &idle);
|
||||
return (rc > 0 && up > 0 && idle > 0);
|
||||
return (rc == 0 && up > 0 && idle > 0);
|
||||
}
|
||||
|
||||
int check_uptime_nullup(void *data)
|
||||
@ -39,7 +39,7 @@ int check_uptime_nullup(void *data)
|
||||
int rc;
|
||||
testname = "procps_uptime() (up=NULL)";
|
||||
rc = procps_uptime(NULL, &idle);
|
||||
return (rc > 0 && idle > 0);
|
||||
return (rc == 0 && idle > 0);
|
||||
}
|
||||
|
||||
int check_uptime_nullidle(void *data)
|
||||
@ -48,7 +48,7 @@ int check_uptime_nullidle(void *data)
|
||||
int rc;
|
||||
testname = "procps_uptime() (idle=NULL)";
|
||||
rc = procps_uptime(&up, NULL);
|
||||
return (rc > 0 && up > 0);
|
||||
return (rc == 0 && up > 0);
|
||||
}
|
||||
|
||||
int check_uptime_nullall(void *data)
|
||||
@ -56,7 +56,7 @@ int check_uptime_nullall(void *data)
|
||||
int rc;
|
||||
testname = "procps_uptime() (up,idle=NULL)";
|
||||
rc = procps_uptime(NULL, NULL);
|
||||
return (rc > 0);
|
||||
return (rc == 0);
|
||||
}
|
||||
|
||||
int check_uptime_sprint(void *data)
|
||||
|
@ -63,7 +63,7 @@ static int count_users(void)
|
||||
* Unlike other procps functions this closes the file each time
|
||||
* Either uptime_secs or idle_secs can be null
|
||||
*
|
||||
* Returns: uptime_secs on success and <0 on failure
|
||||
* Returns: 0 on success and <0 on failure
|
||||
*/
|
||||
PROCPS_EXPORT int procps_uptime(
|
||||
double *restrict uptime_secs,
|
||||
@ -91,7 +91,7 @@ PROCPS_EXPORT int procps_uptime(
|
||||
*uptime_secs = up;
|
||||
if (idle_secs)
|
||||
*idle_secs = idle;
|
||||
return up;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user