diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c index 8f7250e8..c25fa70c 100644 --- a/cmd-capture-pane.c +++ b/cmd-capture-pane.c @@ -29,7 +29,6 @@ static enum cmd_retval cmd_capture_pane_exec(struct cmd *, struct cmdq_item *); -static char *cmd_capture_pane_append(char *, size_t *, char *, size_t); static char *cmd_capture_pane_pending(struct args *, struct window_pane *, size_t *); static char *cmd_capture_pane_history(struct args *, struct cmdq_item *, @@ -62,15 +61,6 @@ const struct cmd_entry cmd_clear_history_entry = { .exec = cmd_capture_pane_exec }; -static char * -cmd_capture_pane_append(char *buf, size_t *len, char *line, size_t linelen) -{ - buf = xrealloc(buf, *len + linelen + 1); - memcpy(buf + *len, line, linelen); - *len += linelen; - return (buf); -} - static char * cmd_capture_pane_pending(struct args *args, struct window_pane *wp, size_t *len) @@ -95,11 +85,11 @@ cmd_capture_pane_pending(struct args *args, struct window_pane *wp, tmp[1] = '\0'; } else xsnprintf(tmp, sizeof tmp, "\\%03hho", line[i]); - buf = cmd_capture_pane_append(buf, len, tmp, + buf = append_string(buf, len, tmp, strlen(tmp)); } } else - buf = cmd_capture_pane_append(buf, len, line, linelen); + buf = append_string(buf, len, line, linelen); return (buf); } @@ -184,7 +174,7 @@ cmd_capture_pane_history(struct args *args, struct cmdq_item *item, line = grid_string_cells(gd, 0, i, sx, &gc, flags, wp->screen); linelen = strlen(line); - buf = cmd_capture_pane_append(buf, len, line, linelen); + buf = append_string(buf, len, line, linelen); gl = grid_peek_line(gd, i); if (!join_lines || !(gl->flags & GRID_LINE_WRAPPED)) diff --git a/cmd-display-menu.c b/cmd-display-menu.c index 37fbbaed..0b10b49f 100644 --- a/cmd-display-menu.c +++ b/cmd-display-menu.c @@ -433,7 +433,8 @@ cmd_display_popup_exec(struct cmd *self, struct cmdq_item *item) if (h > tty->sy) h = tty->sy; if (tc->flags & CLIENT_CONTROL) { - /* Control clients may not have a window size, so provide a reasonable default so popups can still work. */ + /* Control clients may not have a window size, so provide a + * reasonable default so popups can still work. */ if (w == 0) w = 80; if (h == 0) @@ -493,7 +494,8 @@ cmd_display_popup_exec(struct cmd *self, struct cmdq_item *item) else if (args_has(args, 'E')) flags |= POPUP_CLOSEEXIT; if (popup_display(flags, lines, item, px, py, w, h, env, shellcmd, argc, - argv, cwd, title, tc, s, style, border_style, NULL, NULL, target->wp) != 0) { + argv, cwd, title, tc, s, style, border_style, NULL, NULL, + target->wp) != 0) { cmd_free_argv(argc, argv); if (env != NULL) environ_free(env); diff --git a/control-notify.c b/control-notify.c index ab3ad3cc..26a8bfe2 100644 --- a/control-notify.c +++ b/control-notify.c @@ -262,7 +262,8 @@ control_notify_paste_buffer_deleted(const char *name) } void -control_notify_popup(struct client *c, int status, char *buf, size_t len, int wp) +control_notify_popup(struct client *c, int status, char *buf, size_t len, + int wp) { struct evbuffer *message = evbuffer_new(); diff --git a/control.c b/control.c index d5a1a5a4..6f364a20 100644 --- a/control.c +++ b/control.c @@ -227,8 +227,7 @@ control_free_sub(struct control_state *cs, struct control_sub *csub) static void control_free_block(struct control_state *cs, struct control_block *cb) { - if (cb->line != NULL) - free(cb->line); + free(cb->line); if (cb->buffer != NULL) evbuffer_free(cb->buffer); TAILQ_REMOVE(&cs->all_blocks, cb, all_entry); @@ -421,7 +420,8 @@ control_vwrite_buffer(struct client *c, struct evbuffer *buffer) /* Frees line and buffer after using them asynchronously. */ static void -control_enqueue(struct client *c, struct control_state *cs, char *line, struct evbuffer *buffer) +control_enqueue(struct client *c, struct control_state *cs, char *line, + struct evbuffer *buffer) { struct control_block *cb = xcalloc(1, sizeof *cb); @@ -444,7 +444,6 @@ control_write_buffer(struct client *c, struct evbuffer *buffer) { struct control_state *cs = c->control_state; struct control_block *cb; - va_list ap; if (TAILQ_EMPTY(&cs->all_blocks)) { control_vwrite_buffer(c, buffer); @@ -452,8 +451,6 @@ control_write_buffer(struct client *c, struct evbuffer *buffer) } control_enqueue(c, cs, NULL, buffer); - - va_end(ap); } /* Write a line. */ diff --git a/popup.c b/popup.c index ceb935b5..2c850bc3 100644 --- a/popup.c +++ b/popup.c @@ -615,16 +615,6 @@ popup_job_update_cb(struct job *job) evbuffer_drain(evb, size); } -// NOTE TO REVIEWER: This is a copy of cmd_capture_pane_append. I think we'd want a shared implementation but I don't know where it should go. -static char * -popup_append(char *buf, size_t *len, char *line, size_t linelen) -{ - buf = xrealloc(buf, *len + linelen + 1); - memcpy(buf + *len, line, linelen); - *len += linelen; - return (buf); -} - static void popup_notify_control(struct client *c, int status, struct screen *s, int wp) { @@ -643,7 +633,7 @@ popup_notify_control(struct client *c, int status, struct screen *s, int wp) line = grid_string_cells(gd, 0, i, sx, &gc, GRID_STRING_WITH_SEQUENCES, s); linelen = strlen(line); - buf = popup_append(buf, &len, line, linelen); + buf = append_string(buf, &len, line, linelen); gl = grid_peek_line(gd, i); if (!(gl->flags & GRID_LINE_WRAPPED)) @@ -679,11 +669,12 @@ popup_job_complete_cb(struct job *job) } int -popup_display(int flags, enum box_lines lines, struct cmdq_item *item, u_int px, - u_int py, u_int sx, u_int sy, struct environ *env, const char *shellcmd, - int argc, char **argv, const char *cwd, const char *title, struct client *c, - struct session *s, const char *style, const char *border_style, - popup_close_cb cb, void *arg, struct window_pane *wp) +popup_display(int flags, enum box_lines lines, struct cmdq_item *item, + u_int px, u_int py, u_int sx, u_int sy, struct environ *env, + const char *shellcmd, int argc, char **argv, const char *cwd, + const char *title, struct client *c, struct session *s, const char *style, + const char *border_style, popup_close_cb cb, void *arg, + struct window_pane *wp) { struct popup_data *pd; u_int jx, jy; diff --git a/tmux.c b/tmux.c index 6659e1c3..c9289f64 100644 --- a/tmux.c +++ b/tmux.c @@ -319,6 +319,15 @@ find_cwd(void) return (pwd); } +char * +append_string(char *buf, size_t *len, char *line, size_t linelen) +{ + buf = xrealloc(buf, *len + linelen + 1); + memcpy(buf + *len, line, linelen); + *len += linelen; + return (buf); +} + const char * find_home(void) { diff --git a/tmux.h b/tmux.h index 9447f03a..62bdbc7b 100644 --- a/tmux.h +++ b/tmux.h @@ -2213,6 +2213,7 @@ const char *sig2name(int); const char *find_cwd(void); const char *find_home(void); const char *getversion(void); +char *append_string(char *buf, size_t *len, char *line, size_t linelen); /* proc.c */ struct imsg;