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
|
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
.\" %%%LICENSE_END
|
.\" %%%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.
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
.\"
|
.\"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -35,7 +35,7 @@ fills the location of the two double points with the current sytem uptime
|
|||||||
and idle time.
|
and idle time.
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
.BR procps_uptime ()
|
.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.
|
returns a negative integer to one of the values defined below.
|
||||||
.TP
|
.TP
|
||||||
.B -ERANGE
|
.B -ERANGE
|
||||||
|
@ -30,7 +30,7 @@ int check_uptime(void *data)
|
|||||||
double up=0, idle=0;
|
double up=0, idle=0;
|
||||||
int rc;
|
int rc;
|
||||||
rc = procps_uptime(&up, &idle);
|
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)
|
int check_uptime_nullup(void *data)
|
||||||
@ -39,7 +39,7 @@ int check_uptime_nullup(void *data)
|
|||||||
int rc;
|
int rc;
|
||||||
testname = "procps_uptime() (up=NULL)";
|
testname = "procps_uptime() (up=NULL)";
|
||||||
rc = procps_uptime(NULL, &idle);
|
rc = procps_uptime(NULL, &idle);
|
||||||
return (rc > 0 && idle > 0);
|
return (rc == 0 && idle > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_uptime_nullidle(void *data)
|
int check_uptime_nullidle(void *data)
|
||||||
@ -48,7 +48,7 @@ int check_uptime_nullidle(void *data)
|
|||||||
int rc;
|
int rc;
|
||||||
testname = "procps_uptime() (idle=NULL)";
|
testname = "procps_uptime() (idle=NULL)";
|
||||||
rc = procps_uptime(&up, NULL);
|
rc = procps_uptime(&up, NULL);
|
||||||
return (rc > 0 && up > 0);
|
return (rc == 0 && up > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_uptime_nullall(void *data)
|
int check_uptime_nullall(void *data)
|
||||||
@ -56,7 +56,7 @@ int check_uptime_nullall(void *data)
|
|||||||
int rc;
|
int rc;
|
||||||
testname = "procps_uptime() (up,idle=NULL)";
|
testname = "procps_uptime() (up,idle=NULL)";
|
||||||
rc = procps_uptime(NULL, NULL);
|
rc = procps_uptime(NULL, NULL);
|
||||||
return (rc > 0);
|
return (rc == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_uptime_sprint(void *data)
|
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
|
* Unlike other procps functions this closes the file each time
|
||||||
* Either uptime_secs or idle_secs can be null
|
* 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(
|
PROCPS_EXPORT int procps_uptime(
|
||||||
double *restrict uptime_secs,
|
double *restrict uptime_secs,
|
||||||
@ -91,7 +91,7 @@ PROCPS_EXPORT int procps_uptime(
|
|||||||
*uptime_secs = up;
|
*uptime_secs = up;
|
||||||
if (idle_secs)
|
if (idle_secs)
|
||||||
*idle_secs = idle;
|
*idle_secs = idle;
|
||||||
return up;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -434,7 +434,6 @@ extern int prefer_bsd_defaults;
|
|||||||
extern int running_only;
|
extern int running_only;
|
||||||
extern int screen_cols;
|
extern int screen_cols;
|
||||||
extern int screen_rows;
|
extern int screen_rows;
|
||||||
extern time_t seconds_since_boot;
|
|
||||||
extern selection_node *selection_list;
|
extern selection_node *selection_list;
|
||||||
extern unsigned simple_select;
|
extern unsigned simple_select;
|
||||||
extern sort_node *sort_list;
|
extern sort_node *sort_list;
|
||||||
|
@ -172,7 +172,6 @@ unsigned personality = 0xffffffff;
|
|||||||
int prefer_bsd_defaults = -1;
|
int prefer_bsd_defaults = -1;
|
||||||
int screen_cols = -1;
|
int screen_cols = -1;
|
||||||
int screen_rows = -1;
|
int screen_rows = -1;
|
||||||
time_t seconds_since_boot = -1;
|
|
||||||
selection_node *selection_list = (selection_node *)0xdeadbeef;
|
selection_node *selection_list = (selection_node *)0xdeadbeef;
|
||||||
unsigned simple_select = 0xffffffff;
|
unsigned simple_select = 0xffffffff;
|
||||||
sort_node *sort_list = (sort_node *)0xdeadbeef; /* ready-to-use sort list */
|
sort_node *sort_list = (sort_node *)0xdeadbeef; /* ready-to-use sort list */
|
||||||
@ -502,7 +501,6 @@ void reset_global(void){
|
|||||||
negate_selection = 0;
|
negate_selection = 0;
|
||||||
page_size = getpagesize();
|
page_size = getpagesize();
|
||||||
running_only = 0;
|
running_only = 0;
|
||||||
seconds_since_boot = procps_uptime(0,0);
|
|
||||||
selection_list = NULL;
|
selection_list = NULL;
|
||||||
simple_select = 0;
|
simple_select = 0;
|
||||||
sort_list = NULL;
|
sort_list = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user