=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/format.c,v retrieving revision 1.59 retrieving revision 1.60 diff -c -r1.59 -r1.60 *** src/usr.bin/tmux/format.c 2015/03/31 17:45:10 1.59 --- src/usr.bin/tmux/format.c 2015/03/31 17:58:36 1.60 *************** *** 1,4 **** ! /* $OpenBSD: format.c,v 1.59 2015/03/31 17:45:10 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: format.c,v 1.60 2015/03/31 17:58:36 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott *************** *** 37,42 **** --- 37,43 ---- int format_replace(struct format_tree *, const char *, size_t, char **, size_t *, size_t *); + char *format_time_string(time_t); char *format_get_command(struct window_pane *); void format_defaults_pane_tabs(struct format_tree *, struct window_pane *); *************** *** 453,458 **** --- 454,471 ---- return (out); } + /* Get time as a string. */ + char * + format_time_string(time_t t) + { + char *tim; + + tim = ctime(&t); + *strchr(tim, '\n') = '\0'; + + return (tim); + } + /* Set defaults for any of arguments that are not NULL. */ void format_defaults(struct format_tree *ft, struct client *c, struct session *s, *************** *** 480,486 **** format_defaults_session(struct format_tree *ft, struct session *s) { struct session_group *sg; - char *tim; time_t t; ft->s = s; --- 493,498 ---- *************** *** 498,507 **** t = s->creation_time.tv_sec; format_add(ft, "session_created", "%lld", (long long) t); ! tim = ctime(&t); ! *strchr(tim, '\n') = '\0'; ! format_add(ft, "session_created_string", "%s", tim); format_add(ft, "session_attached", "%u", s->attached); format_add(ft, "session_many_attached", "%d", s->attached > 1); } --- 510,521 ---- t = s->creation_time.tv_sec; format_add(ft, "session_created", "%lld", (long long) t); ! format_add(ft, "session_created_string", "%s", format_time_string(t)); + t = s->activity_time.tv_sec; + format_add(ft, "session_activity", "%lld", (long long) t); + format_add(ft, "session_activity_string", "%s", format_time_string(t)); + format_add(ft, "session_attached", "%u", s->attached); format_add(ft, "session_many_attached", "%d", s->attached > 1); } *************** *** 510,518 **** void format_defaults_client(struct format_tree *ft, struct client *c) { - char *tim; - time_t t; struct session *s; if (ft->s == NULL) ft->s = c->session; --- 524,531 ---- void format_defaults_client(struct format_tree *ft, struct client *c) { struct session *s; + time_t t; if (ft->s == NULL) ft->s = c->session; *************** *** 526,540 **** t = c->creation_time.tv_sec; format_add(ft, "client_created", "%lld", (long long) t); ! tim = ctime(&t); ! *strchr(tim, '\n') = '\0'; ! format_add(ft, "client_created_string", "%s", tim); t = c->activity_time.tv_sec; format_add(ft, "client_activity", "%lld", (long long) t); ! tim = ctime(&t); ! *strchr(tim, '\n') = '\0'; ! format_add(ft, "client_activity_string", "%s", tim); format_add(ft, "client_prefix", "%d", !!(c->flags & CLIENT_PREFIX)); --- 539,549 ---- t = c->creation_time.tv_sec; format_add(ft, "client_created", "%lld", (long long) t); ! format_add(ft, "client_created_string", "%s", format_time_string(t)); t = c->activity_time.tv_sec; format_add(ft, "client_activity", "%lld", (long long) t); ! format_add(ft, "client_activity_string", "%s", format_time_string(t)); format_add(ft, "client_prefix", "%d", !!(c->flags & CLIENT_PREFIX));