diff options
author | nicm <nicm> | 2017-04-20 09:39:07 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-04-20 09:39:07 +0000 |
commit | 0f25ad3ca32d329500ac830f3c13e60ead4cb3db (patch) | |
tree | 344da6fae9cf32caf143ea4064a733e05d111614 | |
parent | 0b44ad99b51606a8cab662e04cf043a8c4a3ca92 (diff) | |
download | rtmux-0f25ad3ca32d329500ac830f3c13e60ead4cb3db.tar.gz rtmux-0f25ad3ca32d329500ac830f3c13e60ead4cb3db.tar.bz2 rtmux-0f25ad3ca32d329500ac830f3c13e60ead4cb3db.zip |
There is no real need for window_printable_flags to allocate, make it
return a buffer from the stack.
-rw-r--r-- | format.c | 7 | ||||
-rw-r--r-- | tmux.h | 2 | ||||
-rw-r--r-- | window.c | 8 |
3 files changed, 6 insertions, 11 deletions
@@ -1237,17 +1237,14 @@ format_defaults_winlink(struct format_tree *ft, struct session *s, struct winlink *wl) { struct window *w = wl->window; - char *flags; if (ft->w == NULL) ft->w = wl->window; - flags = window_printable_flags(s, wl); - format_defaults_window(ft, w); format_add(ft, "window_index", "%d", wl->idx); - format_add(ft, "window_flags", "%s", flags); + format_add(ft, "window_flags", "%s", window_printable_flags(s, wl)); format_add(ft, "window_active", "%d", wl == s->curw); format_add(ft, "window_bell_flag", "%d", @@ -1259,8 +1256,6 @@ format_defaults_winlink(struct format_tree *ft, struct session *s, format_add(ft, "window_last_flag", "%d", !!(wl == TAILQ_FIRST(&s->lastw))); format_add(ft, "window_linked", "%d", session_is_linked(s, wl->window)); - - free(flags); } /* Set default format keys for a window pane. */ @@ -2120,7 +2120,7 @@ int window_pane_outside(struct window_pane *); int window_pane_visible(struct window_pane *); char *window_pane_search(struct window_pane *, const char *, u_int *); -char *window_printable_flags(struct session *, struct winlink *); +const char *window_printable_flags(struct session *, struct winlink *); struct window_pane *window_pane_find_up(struct window_pane *); struct window_pane *window_pane_find_down(struct window_pane *); struct window_pane *window_pane_find_left(struct window_pane *); @@ -710,11 +710,11 @@ window_destroy_panes(struct window *w) } /* Retuns the printable flags on a window, empty string if no flags set. */ -char * +const char * window_printable_flags(struct session *s, struct winlink *wl) { - char flags[32]; - int pos; + static char flags[32]; + int pos; pos = 0; if (wl->flags & WINLINK_ACTIVITY) @@ -732,7 +732,7 @@ window_printable_flags(struct session *s, struct winlink *wl) if (wl->window->flags & WINDOW_ZOOMED) flags[pos++] = 'Z'; flags[pos] = '\0'; - return (xstrdup(flags)); + return (flags); } struct window_pane * |