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;  | 
