aboutsummaryrefslogtreecommitdiff
path: root/src/client/lua_api/gui/iguielement.cpp
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2018-08-31 21:46:18 -0400
committerAlexander Pickering <alex@cogarr.net>2018-08-31 21:46:18 -0400
commitb3c0d2ead1f384b35615be562c5f06804e8990cb (patch)
tree5310a73eea21890d33a9d64d77bee0361201c207 /src/client/lua_api/gui/iguielement.cpp
parent92940a587d3db28f95a7e2ddf72cbbe7f110e107 (diff)
downloadbrokengine-b3c0d2ead1f384b35615be562c5f06804e8990cb.tar.gz
brokengine-b3c0d2ead1f384b35615be562c5f06804e8990cb.tar.bz2
brokengine-b3c0d2ead1f384b35615be562c5f06804e8990cb.zip
Fixed wchar_t not being null terminated
Occasionally wierd characters would show in place of a window title or button label, this was due to whcar_t s missing their sentinal characters.
Diffstat (limited to 'src/client/lua_api/gui/iguielement.cpp')
-rw-r--r--src/client/lua_api/gui/iguielement.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/client/lua_api/gui/iguielement.cpp b/src/client/lua_api/gui/iguielement.cpp
index e63d986..7132441 100644
--- a/src/client/lua_api/gui/iguielement.cpp
+++ b/src/client/lua_api/gui/iguielement.cpp
@@ -95,9 +95,11 @@ int getiguitext(lua_State* L){
irr::gui::IGUIElement *el = (IGUIElement*)lua_touserdata(L,-1);
lua_pop(L,2);//
const wchar_t *t = el->getText();
- size_t strlen = wcslen(t);
- char output[strlen];
- wcstombs(output,t,strlen);
+ size_t cstrlen = wcslen(t);
+ __mingw_printf("In gui get text, cstrlen is %zu\n",cstrlen);
+ char output[cstrlen + 1];//+1 for \0
+ wcstombs(output,t,cstrlen);
+ output[cstrlen] = '\0';
lua_pushstring(L,output);//"str"
return 1;
}