diff options
-rw-r--r-- | client/client.c | 6 | ||||
-rw-r--r-- | lib/draw/curses.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/client/client.c b/client/client.c index ecaed25..ff32d1b 100644 --- a/client/client.c +++ b/client/client.c @@ -103,8 +103,10 @@ int main(int argc, char **argv) if (status == BM_RUN_RESULT_SELECTED) { unsigned int i, count; bmItem **items = bmMenuGetSelectedItems(menu, &count); - for (i = 0; i < count; ++i) - printf("%s\n", bmItemGetText(items[i])); + for (i = 0; i < count; ++i) { + const char *text = bmItemGetText(items[i]); + printf("%s\n", (text ? text : "")); + } } bmMenuFree(menu); diff --git a/lib/draw/curses.c b/lib/draw/curses.c index cb1d204..653a07d 100644 --- a/lib/draw/curses.c +++ b/lib/draw/curses.c @@ -190,7 +190,7 @@ static void _bmDrawCursesRender(const bmMenu *menu) for (i = (menu->index / (lines - 1)) * (lines - 1); i < itemsCount && cl < lines; ++i) { int highlighted = (items[i] == bmMenuGetHighlightedItem(menu)); int color = (highlighted ? 2 : (_bmMenuItemIsSelected(menu, items[i]) ? 1 : 0)); - _bmDrawCursesDrawLine(color, cl++, "%s%s", (highlighted ? ">> " : " "), items[i]->text); + _bmDrawCursesDrawLine(color, cl++, "%s%s", (highlighted ? ">> " : " "), (items[i]->text ? items[i]->text : "(null)")); } unsigned int ncols = curses.getmaxx(curses.stdscr) - titleLen - 1; |