use ctime rather than duration
This commit is contained in:
parent
5d609c89f2
commit
69d5f5d085
1 changed files with 43 additions and 36 deletions
77
cli.c
77
cli.c
|
|
@ -2,7 +2,7 @@
|
||||||
// vim: sw=8 ts=8
|
// vim: sw=8 ts=8
|
||||||
|
|
||||||
char const *cvs_name = "$Name: $";
|
char const *cvs_name = "$Name: $";
|
||||||
char const *cvs_id_cli = "$Id: cli.c,v 1.50 2005-01-13 08:03:04 bodea Exp $";
|
char const *cvs_id_cli = "$Id: cli.c,v 1.51 2005-01-13 08:26:25 bodea Exp $";
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
@ -644,39 +644,6 @@ static int cmd_show_users(struct cli_def *cli, char *command, char **argv, int a
|
||||||
return CLI_OK;
|
return CLI_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *duration(time_t secs)
|
|
||||||
{
|
|
||||||
static char *buf = NULL;
|
|
||||||
int p = 0;
|
|
||||||
|
|
||||||
if (!buf) buf = calloc(64, 1);
|
|
||||||
|
|
||||||
if (secs >= 86400)
|
|
||||||
{
|
|
||||||
int days = secs / 86400;
|
|
||||||
p = sprintf(buf, "%d day%s, ", days, days > 1 ? "s" : "");
|
|
||||||
secs %= 86400;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (secs >= 3600)
|
|
||||||
{
|
|
||||||
int mins = secs / 60;
|
|
||||||
int hrs = mins / 60;
|
|
||||||
|
|
||||||
mins %= 60;
|
|
||||||
sprintf(buf + p, "%d:%02d", hrs, mins);
|
|
||||||
}
|
|
||||||
else if (secs >= 60)
|
|
||||||
{
|
|
||||||
int mins = secs / 60;
|
|
||||||
sprintf(buf + p, "%d min%s", mins, mins > 1 ? "s" : "");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
sprintf(buf, "%ld sec%s", secs, secs > 1 ? "s" : "");
|
|
||||||
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cmd_show_counters(struct cli_def *cli, char *command, char **argv, int argc)
|
static int cmd_show_counters(struct cli_def *cli, char *command, char **argv, int argc)
|
||||||
{
|
{
|
||||||
if (CLI_HELP_REQUESTED)
|
if (CLI_HELP_REQUESTED)
|
||||||
|
|
@ -760,8 +727,15 @@ static int cmd_show_counters(struct cli_def *cli, char *command, char **argv, in
|
||||||
cli_print(cli, "%-30s%u", "call_random_data", GET_STAT(call_random_data));
|
cli_print(cli, "%-30s%u", "call_random_data", GET_STAT(call_random_data));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
{
|
||||||
|
time_t l = GET_STAT(last_reset);
|
||||||
|
char *t = ctime(&l);
|
||||||
|
char *p = strchr(t, '\n');
|
||||||
|
if (p) *p = 0;
|
||||||
|
|
||||||
cli_print(cli, "");
|
cli_print(cli, "");
|
||||||
cli_print(cli, "Counters last reset %s ago", duration(time_now - GET_STAT(last_reset)));
|
cli_print(cli, "Last counter reset %s", t);
|
||||||
|
}
|
||||||
|
|
||||||
return CLI_OK;
|
return CLI_OK;
|
||||||
}
|
}
|
||||||
|
|
@ -1758,6 +1732,39 @@ static int cmd_remove_plugin(struct cli_def *cli, char *command, char **argv, in
|
||||||
return CLI_OK;
|
return CLI_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *duration(time_t secs)
|
||||||
|
{
|
||||||
|
static char *buf = NULL;
|
||||||
|
int p = 0;
|
||||||
|
|
||||||
|
if (!buf) buf = calloc(64, 1);
|
||||||
|
|
||||||
|
if (secs >= 86400)
|
||||||
|
{
|
||||||
|
int days = secs / 86400;
|
||||||
|
p = sprintf(buf, "%d day%s, ", days, days > 1 ? "s" : "");
|
||||||
|
secs %= 86400;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (secs >= 3600)
|
||||||
|
{
|
||||||
|
int mins = secs / 60;
|
||||||
|
int hrs = mins / 60;
|
||||||
|
|
||||||
|
mins %= 60;
|
||||||
|
sprintf(buf + p, "%d:%02d", hrs, mins);
|
||||||
|
}
|
||||||
|
else if (secs >= 60)
|
||||||
|
{
|
||||||
|
int mins = secs / 60;
|
||||||
|
sprintf(buf + p, "%d min%s", mins, mins > 1 ? "s" : "");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sprintf(buf, "%ld sec%s", secs, secs > 1 ? "s" : "");
|
||||||
|
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
static int cmd_uptime(struct cli_def *cli, char *command, char **argv, int argc)
|
static int cmd_uptime(struct cli_def *cli, char *command, char **argv, int argc)
|
||||||
{
|
{
|
||||||
FILE *fh;
|
FILE *fh;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue