X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=theme.cpp;h=ed187e5561189eda91a3e8e2d389a72aadec58a0;hb=59367b8add7962e605b829a3e2997411e0ee82fe;hp=2b5c5b4257eeef1b0270e5dfc862702e11af0b89;hpb=b401c05dbb959a0934c4cc5298fa0be3f7d9cfbc;p=nageru diff --git a/theme.cpp b/theme.cpp index 2b5c5b4..ed187e5 100644 --- a/theme.cpp +++ b/theme.cpp @@ -811,11 +811,16 @@ string Theme::get_channel_name(unsigned channel) fprintf(stderr, "error running function `channel_name': %s\n", lua_tostring(L, -1)); exit(1); } + const char *ret = lua_tostring(L, -1); + if (ret == nullptr) { + fprintf(stderr, "function `channel_name' returned nil for channel %d\n", channel); + exit(1); + } - string ret = lua_tostring(L, -1); + string retstr = ret; lua_pop(L, 1); assert(lua_gettop(L) == 0); - return ret; + return retstr; } int Theme::get_channel_signal(unsigned channel) @@ -844,10 +849,16 @@ std::string Theme::get_channel_color(unsigned channel) exit(1); } - std::string ret = checkstdstring(L, -1); + const char *ret = lua_tostring(L, -1); + if (ret == nullptr) { + fprintf(stderr, "function `channel_color' returned nil for channel %d\n", channel); + exit(1); + } + + string retstr = ret; lua_pop(L, 1); assert(lua_gettop(L) == 0); - return ret; + return retstr; } bool Theme::get_supports_set_wb(unsigned channel)