diff options
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index e26159d2..8db5c9d5 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c | |||
@@ -786,15 +786,20 @@ static void update_marks_texture(struct sway_view *view, | |||
786 | 786 | ||
787 | size_t len = 0; | 787 | size_t len = 0; |
788 | for (int i = 0; i < view->marks->length; ++i) { | 788 | for (int i = 0; i < view->marks->length; ++i) { |
789 | len += strlen((char *)view->marks->items[i]) + 2; | 789 | char *mark = view->marks->items[i]; |
790 | if (mark[0] != '_') { | ||
791 | len += strlen(mark) + 2; | ||
792 | } | ||
790 | } | 793 | } |
791 | char *buffer = calloc(len + 1, 1); | 794 | char *buffer = calloc(len + 1, 1); |
792 | char *part = malloc(len + 1); | 795 | char *part = malloc(len + 1); |
793 | 796 | ||
794 | for (int i = 0; i < view->marks->length; ++i) { | 797 | for (int i = 0; i < view->marks->length; ++i) { |
795 | char *mark = view->marks->items[i]; | 798 | char *mark = view->marks->items[i]; |
796 | sprintf(part, "[%s]", mark); | 799 | if (mark[0] != '_') { |
797 | strcat(buffer, part); | 800 | sprintf(part, "[%s]", mark); |
801 | strcat(buffer, part); | ||
802 | } | ||
798 | } | 803 | } |
799 | free(part); | 804 | free(part); |
800 | 805 | ||