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:
Craig Small
2016-05-01 16:50:25 +10:00
parent 6151b794c6
commit 6b5cb345c5
5 changed files with 8 additions and 11 deletions

View File

@ -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)

View File

@ -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;
}
/*