=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-show-messages.c,v retrieving revision 1.32 retrieving revision 1.33 diff -c -r1.32 -r1.33 *** src/usr.bin/tmux/cmd-show-messages.c 2020/04/20 13:25:36 1.32 --- src/usr.bin/tmux/cmd-show-messages.c 2020/05/16 15:47:22 1.33 *************** *** 1,4 **** ! /* $OpenBSD: cmd-show-messages.c,v 1.32 2020/04/20 13:25:36 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-show-messages.c,v 1.33 2020/05/16 15:47:22 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 72,81 **** cmd_show_messages_exec(struct cmd *self, struct cmdq_item *item) { struct args *args = cmd_get_args(self); - struct client *tc = cmdq_get_target_client(item); struct message_entry *msg; ! char *tim; int done, blank; done = blank = 0; if (args_has(args, 'T')) { --- 72,81 ---- cmd_show_messages_exec(struct cmd *self, struct cmdq_item *item) { struct args *args = cmd_get_args(self); struct message_entry *msg; ! char *s; int done, blank; + struct format_tree *ft; done = blank = 0; if (args_has(args, 'T')) { *************** *** 89,99 **** if (done) return (CMD_RETURN_NORMAL); ! TAILQ_FOREACH(msg, &tc->message_log, entry) { ! tim = ctime(&msg->msg_time); ! *strchr(tim, '\n') = '\0'; ! cmdq_print(item, "%s %s", tim, msg->msg); } return (CMD_RETURN_NORMAL); } --- 89,105 ---- if (done) return (CMD_RETURN_NORMAL); ! ft = format_create_from_target(item); ! TAILQ_FOREACH_REVERSE(msg, &message_log, message_list, entry) { ! format_add(ft, "message_text", "%s", 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); }