|
@@ -31,6 +31,10 @@ static int list_width, check_x, item_x;
|
|
|
static void print_item(WINDOW * win, int choice, int selected)
|
|
|
{
|
|
|
int i;
|
|
|
+ char *list_item = malloc(list_width + 1);
|
|
|
+
|
|
|
+ strncpy(list_item, item_str(), list_width - item_x);
|
|
|
+ list_item[list_width - item_x] = '\0';
|
|
|
|
|
|
/* Clear 'residue' of last item */
|
|
|
wattrset(win, dlg.menubox.atr);
|
|
@@ -45,13 +49,14 @@ static void print_item(WINDOW * win, int choice, int selected)
|
|
|
wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
|
|
|
|
|
|
wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr);
|
|
|
- mvwaddch(win, choice, item_x, item_str()[0]);
|
|
|
+ mvwaddch(win, choice, item_x, list_item[0]);
|
|
|
wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr);
|
|
|
- waddstr(win, (char *)item_str() + 1);
|
|
|
+ waddstr(win, list_item + 1);
|
|
|
if (selected) {
|
|
|
wmove(win, choice, check_x + 1);
|
|
|
wrefresh(win);
|
|
|
}
|
|
|
+ free(list_item);
|
|
|
}
|
|
|
|
|
|
/*
|