rc-status: fix gcc 7 warnings
This commit is contained in:
parent
04721ece03
commit
a616516895
@ -75,7 +75,7 @@ print_level(const char *prefix, const char *level)
|
|||||||
printf("%s\n", level);
|
printf("%s\n", level);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void get_uptime(const char *service, char *uptime, int uptime_size)
|
static char *get_uptime(const char *service)
|
||||||
{
|
{
|
||||||
RC_SERVICE state = rc_service_state(service);
|
RC_SERVICE state = rc_service_state(service);
|
||||||
char *start_count;
|
char *start_count;
|
||||||
@ -87,8 +87,8 @@ static void get_uptime(const char *service, char *uptime, int uptime_size)
|
|||||||
time_t diff_hours = (time_t) 0;
|
time_t diff_hours = (time_t) 0;
|
||||||
time_t diff_mins = (time_t) 0;
|
time_t diff_mins = (time_t) 0;
|
||||||
time_t diff_secs = (time_t) 0;
|
time_t diff_secs = (time_t) 0;
|
||||||
|
char *uptime;
|
||||||
|
|
||||||
uptime[0] = '\0';
|
|
||||||
if (state & RC_SERVICE_STARTED) {
|
if (state & RC_SERVICE_STARTED) {
|
||||||
start_count = rc_service_value_get(service, "start_count");
|
start_count = rc_service_value_get(service, "start_count");
|
||||||
start_time_string = rc_service_value_get(service, "start_time");
|
start_time_string = rc_service_value_get(service, "start_time");
|
||||||
@ -110,23 +110,24 @@ static void get_uptime(const char *service, char *uptime, int uptime_size)
|
|||||||
diff_secs %= diff_mins * (time_t) 60;
|
diff_secs %= diff_mins * (time_t) 60;
|
||||||
}
|
}
|
||||||
if (diff_days > 0)
|
if (diff_days > 0)
|
||||||
snprintf(uptime, uptime_size,
|
xasprintf(&uptime,
|
||||||
"%ld day(s) %02ld:%02ld:%02ld (%s)",
|
"%ld day(s) %02ld:%02ld:%02ld (%s)",
|
||||||
diff_days, diff_hours, diff_mins, diff_secs,
|
diff_days, diff_hours, diff_mins, diff_secs,
|
||||||
start_count);
|
start_count);
|
||||||
else
|
else
|
||||||
snprintf(uptime, uptime_size,
|
xasprintf(&uptime,
|
||||||
"%02ld:%02ld:%02ld (%s)",
|
"%02ld:%02ld:%02ld (%s)",
|
||||||
diff_hours, diff_mins, diff_secs, start_count);
|
diff_hours, diff_mins, diff_secs, start_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return uptime;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_service(const char *service)
|
print_service(const char *service)
|
||||||
{
|
{
|
||||||
char status[60];
|
char status[60];
|
||||||
char uptime [40];
|
char *uptime = NULL;
|
||||||
char *child_pid = NULL;
|
char *child_pid = NULL;
|
||||||
char *start_time = NULL;
|
char *start_time = NULL;
|
||||||
int cols = printf(" %s", service);
|
int cols = printf(" %s", service);
|
||||||
@ -155,8 +156,12 @@ print_service(const char *service)
|
|||||||
free(child_pid);
|
free(child_pid);
|
||||||
free(start_time);
|
free(start_time);
|
||||||
} else {
|
} else {
|
||||||
get_uptime(service, uptime, 40);
|
uptime = get_uptime(service);
|
||||||
snprintf(status, sizeof(status), " started %s", uptime);
|
if (uptime) {
|
||||||
|
snprintf(status, sizeof(status), " started %s", uptime);
|
||||||
|
free(uptime);
|
||||||
|
} else
|
||||||
|
snprintf(status, sizeof(status), " started ");
|
||||||
color = ECOLOR_GOOD;
|
color = ECOLOR_GOOD;
|
||||||
}
|
}
|
||||||
} else if (state & RC_SERVICE_SCHEDULED) {
|
} else if (state & RC_SERVICE_SCHEDULED) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user