aboutsummaryrefslogtreecommitdiff
path: root/view.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-07-07 09:55:00 +0200
committerMarc André Tanner <mat@brain-dump.org>2015-07-07 10:15:43 +0200
commit5f9343595941f2103afad7eed66d4da2788de090 (patch)
tree219e36c29d3ef4b5775f61729d9758f6fa6502ec /view.c
parent247d4c83e48da09918dc718fb4098d51d12b85af (diff)
downloadvis-5f9343595941f2103afad7eed66d4da2788de090.tar.gz
vis-5f9343595941f2103afad7eed66d4da2788de090.tar.xz
view: properly NUL terminate whitespace replacement symbols
This should not be a problem in practice, since cell->data is large enough anyway.
Diffstat (limited to 'view.c')
-rw-r--r--view.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/view.c b/view.c
index e7a8312..78a54f4 100644
--- a/view.c
+++ b/view.c
@@ -165,7 +165,7 @@ static bool view_addch(View *view, Cell *cell) {
cell->len = w == 0 ? 1 : 0;
int t = w == 0 ? SYNTAX_SYMBOL_TAB : SYNTAX_SYMBOL_TAB_FILL;
- strncpy(cell->data, view->symbols[t]->symbol, sizeof(cell->data));
+ strncpy(cell->data, view->symbols[t]->symbol, sizeof(cell->data)-1);
if (view->symbols[t]->color)
cell->attr = view->symbols[t]->color->attr | (cell->attr & A_REVERSE);
view->line->cells[view->col] = *cell;
@@ -185,7 +185,7 @@ static bool view_addch(View *view, Cell *cell) {
view->line->lineno = lineno;
}
- strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_EOL]->symbol, sizeof(cell->data));
+ strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_EOL]->symbol, sizeof(cell->data)-1);
if (view->symbols[SYNTAX_SYMBOL_EOL]->color)
cell->attr = view->symbols[SYNTAX_SYMBOL_EOL]->color->attr;
@@ -213,7 +213,7 @@ static bool view_addch(View *view, Cell *cell) {
}
if (cell->data[0] == ' ') {
- strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_SPACE]->symbol, sizeof(cell->data));
+ strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_SPACE]->symbol, sizeof(cell->data)-1);
if (view->symbols[SYNTAX_SYMBOL_SPACE]->color)
cell->attr = view->symbols[SYNTAX_SYMBOL_SPACE]->color->attr | (cell->attr & A_REVERSE);