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:
parent
6151b794c6
commit
6b5cb345c5
@ -16,7 +16,7 @@
|
||||
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
.\" %%%LICENSE_END
|
||||
.\"
|
||||
.TH PROCPS_UPTIME 3 2016-04-16 "libproc-2"
|
||||
.TH PROCPS_UPTIME 3 2016-05-01 "libproc-2"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.SH NAME
|
||||
@ -35,7 +35,7 @@ fills the location of the two double points with the current sytem uptime
|
||||
and idle time.
|
||||
.SH RETURN VALUE
|
||||
.BR procps_uptime ()
|
||||
returns a positive integer which is the uptime on success. On failure, it
|
||||
returns 0 on success. On failure, it
|
||||
returns a negative integer to one of the values defined below.
|
||||
.TP
|
||||
.B -ERANGE
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -434,7 +434,6 @@ extern int prefer_bsd_defaults;
|
||||
extern int running_only;
|
||||
extern int screen_cols;
|
||||
extern int screen_rows;
|
||||
extern time_t seconds_since_boot;
|
||||
extern selection_node *selection_list;
|
||||
extern unsigned simple_select;
|
||||
extern sort_node *sort_list;
|
||||
|
@ -172,7 +172,6 @@ unsigned personality = 0xffffffff;
|
||||
int prefer_bsd_defaults = -1;
|
||||
int screen_cols = -1;
|
||||
int screen_rows = -1;
|
||||
time_t seconds_since_boot = -1;
|
||||
selection_node *selection_list = (selection_node *)0xdeadbeef;
|
||||
unsigned simple_select = 0xffffffff;
|
||||
sort_node *sort_list = (sort_node *)0xdeadbeef; /* ready-to-use sort list */
|
||||
@ -502,7 +501,6 @@ void reset_global(void){
|
||||
negate_selection = 0;
|
||||
page_size = getpagesize();
|
||||
running_only = 0;
|
||||
seconds_since_boot = procps_uptime(0,0);
|
||||
selection_list = NULL;
|
||||
simple_select = 0;
|
||||
sort_list = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user