version 1.32, 2020/04/20 13:25:36 |
version 1.33, 2020/05/16 15:47:22 |
|
|
cmd_show_messages_exec(struct cmd *self, struct cmdq_item *item) |
cmd_show_messages_exec(struct cmd *self, struct cmdq_item *item) |
{ |
{ |
struct args *args = cmd_get_args(self); |
struct args *args = cmd_get_args(self); |
struct client *tc = cmdq_get_target_client(item); |
|
struct message_entry *msg; |
struct message_entry *msg; |
char *tim; |
char *s; |
int done, blank; |
int done, blank; |
|
struct format_tree *ft; |
|
|
done = blank = 0; |
done = blank = 0; |
if (args_has(args, 'T')) { |
if (args_has(args, 'T')) { |
|
|
if (done) |
if (done) |
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
|
|
TAILQ_FOREACH(msg, &tc->message_log, entry) { |
ft = format_create_from_target(item); |
tim = ctime(&msg->msg_time); |
TAILQ_FOREACH_REVERSE(msg, &message_log, message_list, entry) { |
*strchr(tim, '\n') = '\0'; |
format_add(ft, "message_text", "%s", msg->msg); |
cmdq_print(item, "%s %s", tim, msg->msg); |
format_add(ft, "message_number", "%u", msg->msg_num); |
|
format_add_tv(ft, "message_time", &msg->msg_time); |
|
|
|
s = format_expand(ft, SHOW_MESSAGES_TEMPLATE); |
|
cmdq_print(item, "%s", s); |
|
free(s); |
} |
} |
|
format_free(ft); |
|
|
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
} |
} |