summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/client.c6
-rw-r--r--lib/draw/curses.c2
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;