diff --git a/src/komens.cpp b/src/komens.cpp index 57e1f45..44b52fc 100644 --- a/src/komens.cpp +++ b/src/komens.cpp @@ -2,6 +2,7 @@ #include "helper_funcs.h" #include "memory.h" #include +#include #include #include #include @@ -41,28 +42,27 @@ void komens_page() { ITEM **komens_items = new ITEM *[num_of_komens + 1]; komens_allocated.push_back({ITEM_ARRAY, komens_items, num_of_komens}); - char **title_bufs = new char *[num_of_komens]; - char **name_bufs = new char *[num_of_komens]; - char tmp_buf[1500]; + char **komens_bufs = new char *[num_of_komens]; + char title_buf[1500]; + char name_buf[1500]; for (size_t i = 0; i < num_of_komens; i++) { - wcstombs(tmp_buf, + wcstombs(title_buf, string_to_wstring( resp_from_api["Messages"][i]["Title"].get()) .c_str(), - sizeof(tmp_buf)); - title_bufs[i] = new char[strlen(tmp_buf) + 1]; - strlcpy(title_bufs[i], tmp_buf, strlen(tmp_buf)); + sizeof(title_buf)); wcstombs( - tmp_buf, + name_buf, string_to_wstring( resp_from_api["Messages"][i]["Sender"]["Name"].get()) .c_str(), - sizeof(tmp_buf)); + sizeof(name_buf)); - name_bufs[i] = new char[strlen(tmp_buf) + 1]; - strlcpy(name_bufs[i], tmp_buf, strlen(tmp_buf)); + komens_bufs[i] = new char[strlen(title_buf) + strlen(name_buf) + 2]; + snprintf(komens_bufs[i], strlen(title_buf) + strlen(name_buf) + 1, "%s\n%s", + title_buf, name_buf); - komens_items[i] = new_item(title_bufs[i], name_bufs[i]); + komens_items[i] = new_item(komens_bufs[i], ""); } komens_items[num_of_komens] = nullptr;