int top_running;
#endif
int output_methods;
-char times_in_seconds = 0;
static int extra_newline;
enum x_initialiser_state x_initialised = NO;
static volatile int g_signal_pending;
{
int days, hours, minutes;
+ if (times_in_seconds()) {
+ snprintf(buf, size, "%d", seconds);
+ return;
+ }
+
days = seconds / (24 * 60 * 60);
seconds %= (24 * 60 * 60);
hours = seconds / (60 * 60);
generate_text_internal(buf, max_user_text, *obj->sub, cur);
obj->data.s = buf;
- if(times_in_seconds) {
- print_format_time(obj, p, p_max_size);
- } else {
- NORM_ERR("Enable \"times_in_seconds\" to use $format_time");
- }
+ print_format_time(obj, p, p_max_size);
}
/* mail stuff */
OBJ(mails) {
}
#endif /* X11 */
OBJ(uptime_short) {
- if(times_in_seconds) {
- snprintf(p, p_max_size, "%d", (int) cur->uptime);
- } else {
- format_seconds_short(p, p_max_size, (int) cur->uptime);
- }
+ format_seconds_short(p, p_max_size, (int) cur->uptime);
}
OBJ(uptime) {
- if(times_in_seconds) {
- snprintf(p, p_max_size, "%d", (int) cur->uptime);
- } else {
- format_seconds(p, p_max_size, (int) cur->uptime);
- }
+ format_seconds(p, p_max_size, (int) cur->uptime);
}
#ifdef __linux__
OBJ(user_names) {
snprintf(p, p_max_size, "%s", cur->users.times);
}
OBJ(user_time) {
- update_user_time(obj->data.s, times_in_seconds);
+ update_user_time(obj->data.s);
snprintf(p, p_max_size, "%s", cur->users.ctime);
}
OBJ(user_number) {
OBJ(mpd_status)
mpd_printf("%s", status);
OBJ(mpd_elapsed) {
- if(times_in_seconds) {
- snprintf(p, p_max_size, "%d", mpd_get_info()->elapsed);
- } else {
- format_media_player_time(p, p_max_size, mpd_get_info()->elapsed);
- }
+ format_media_player_time(p, p_max_size, mpd_get_info()->elapsed);
}
OBJ(mpd_length) {
- if(times_in_seconds) {
- snprintf(p, p_max_size, "%d", mpd_get_info()->length);
- } else {
- format_media_player_time(p, p_max_size, mpd_get_info()->length);
- }
+ format_media_player_time(p, p_max_size, mpd_get_info()->length);
}
OBJ(mpd_percent) {
percent_print(p, p_max_size, (int)(mpd_get_info()->progress * 100));
stuff_in_uppercase = 0;
info.users.number = 1;
+ set_times_in_seconds(0);
+
#ifdef TCP_PORT_MONITOR
/* set default connection limit */
tcp_portmon_set_max_connections(0);
}
#endif /* X11 */
CONF("times_in_seconds") {
- times_in_seconds = string_to_bool(value);
+ set_times_in_seconds(string_to_bool(value));
}
CONF("out_to_console") {
if(string_to_bool(value)) {
#include <errno.h>
#include <logging.h>
+char print_times_in_seconds = 0;
+
struct tztime_s {
char *tz; /* timezone variable */
char *fmt; /* time display formatting */
};
+void set_times_in_seconds(char val)
+{
+ print_times_in_seconds = val;
+}
+
+char times_in_seconds(void)
+{
+ return print_times_in_seconds;
+}
+
void scan_time(struct text_object *obj, const char *arg)
{
obj->data.opaque = strndup(arg ? arg : "%F %T", text_buffer_size);
int minutes, hours, days, weeks;
char show_minutes = 0, show_hours = 0, show_days = 0, show_weeks = 0, hidestring;
+ if (!times_in_seconds()) {
+ NORM_ERR("Enable \"times_in_seconds\" to use $format_time");
+ return;
+ }
+
errno = 0;
seconds = strtod(obj->data.s, ¤tchar);
if(errno == 0 && obj->data.s != currentchar) {
}
}
}
-static void tty_user_time(char *ptr, char *tty, char times_in_seconds)
+static void tty_user_time(char *ptr, char *tty)
{
time_t real, diff, log_in;
char buf[BUFLEN] = "";
time(&real);
diff = difftime(real, log_in);
- if(times_in_seconds) {
- snprintf(buf, BUFLEN, "%d", (int) diff);
- } else {
- format_seconds(buf, BUFLEN, diff);
- }
+ format_seconds(buf, BUFLEN, diff);
strncpy(ptr, buf, BUFLEN-1);
}
}
}
-void update_user_time(char *tty, char times_in_seconds)
+void update_user_time(char *tty)
{
struct information *current_info = &info;
char temp[BUFLEN] = "";
current_info->users.ctime = malloc(text_buffer_size);
}
- tty_user_time(temp, tty, times_in_seconds);
+ tty_user_time(temp, tty);
if (temp != NULL) {
if (current_info->users.ctime) {