summaryrefslogtreecommitdiffstats
path: root/cmd-queue.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2023-02-06 00:01:11 +0000
committerThomas Adam <thomas@xteddy.org>2023-02-06 00:01:11 +0000
commite25926d3c4b7b836228d371a2c6450c913986c8f (patch)
tree2b383c5878f861659b047eab5070962be9e859a0 /cmd-queue.c
parent493922dc4b150218ab35fbbb8c5cf6a90fc4f24c (diff)
parent0cb75f1332f7d2b5a3c610c2d76c5c53ef129c7c (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-queue.c')
-rw-r--r--cmd-queue.c63
1 files changed, 1 insertions, 62 deletions
diff --git a/cmd-queue.c b/cmd-queue.c
index 78b379de..e5188c54 100644
--- a/cmd-queue.c
+++ b/cmd-queue.c
@@ -825,68 +825,7 @@ cmdq_guard(struct cmdq_item *item, const char *guard, int flags)
void
cmdq_print_data(struct cmdq_item *item, int parse, struct evbuffer *evb)
{
- struct client *c = item->client;
- void *data = EVBUFFER_DATA(evb);
- size_t size = EVBUFFER_LENGTH(evb);
- struct window_pane *wp;
- struct window_mode_entry *wme;
- char *sanitized, *msg, *line;
-
- if (!parse) {
- utf8_stravisx(&msg, data, size,
- VIS_OCTAL|VIS_CSTYLE|VIS_NOSLASH);
- log_debug("%s: %s", __func__, msg);
- } else {
- msg = EVBUFFER_DATA(evb);
- if (msg[size - 1] != '\0')
- evbuffer_add(evb, "", 1);
- }
-
- if (c == NULL)
- goto out;
-
- if (c->session == NULL || (c->flags & CLIENT_CONTROL)) {
- if (~c->flags & CLIENT_UTF8) {
- sanitized = utf8_sanitize(msg);
- if (c->flags & CLIENT_CONTROL)
- control_write(c, "%s", sanitized);
- else
- file_print(c, "%s\n", sanitized);
- free(sanitized);
- } else {
- if (c->flags & CLIENT_CONTROL)
- control_write(c, "%s", msg);
- else
- file_print(c, "%s\n", msg);
- }
- goto out;
- }
-
- wp = server_client_get_pane(c);
- wme = TAILQ_FIRST(&wp->modes);
- if (wme == NULL || wme->mode != &window_view_mode)
- window_pane_set_mode(wp, NULL, &window_view_mode, NULL, NULL);
- if (parse) {
- do {
- line = evbuffer_readln(evb, NULL, EVBUFFER_EOL_LF);
- if (line != NULL) {
- window_copy_add(wp, 1, "%s", line);
- free(line);
- }
- } while (line != NULL);
-
- size = EVBUFFER_LENGTH(evb);
- if (size != 0) {
- line = EVBUFFER_DATA(evb);
- window_copy_add(wp, 1, "%.*s", (int)size, line);
- }
- } else
- window_copy_add(wp, 0, "%s", msg);
-
-out:
- if (!parse)
- free(msg);
-
+ server_client_print(item->client, parse, evb);
}
/* Show message from command. */