Я пытаюсь написать функцию для добавления заданной текстовой строки в конец моего GTKTextBuffer, однако у меня возникают проблемы с тем, что я предполагаю как проблемы с выделением памяти?
Итак, вот функция Я написал для добавления:
void append_to_log(GtkTextBuffer *buffer, char* strToSave) {
GtkTextIter *iter;
gtk_text_buffer_get_end_iter(buffer, iter);
gtk_text_buffer_insert(buffer, iter, strToSave, strlen(strToSave));
}
Когда я пытаюсь запустить мою программу и добавить сообщение «Logging началось ... \ n», используя функцию ...
append_to_log(loggingBuffer, "Logging started... \n");
... Я получаю эту ошибку:
/home/csc/CLionProjects/SDS-CW/GUIs/Server/cmake-build-debug/SDS-CW
*** stack smashing detected ***: <unknown> terminated
Однако, когда я пытаюсь вручную добавить первую строку, она работает нормально:
gtk_text_buffer_set_text(loggingBuffer, "Logging started... \n", 20);
Поэтому я попытался установить начальный вручную, затем добавляя новую строку ...
gtk_text_buffer_set_text(loggingBuffer, "Logging started... \n", 20);
append_to_log(loggingBuffer, "Logging continued... \n");
... Я получаю ошибку сегментации.
Любые идеи, где я ошибаюсь, и как я могу быть удалось это исправить?
Большое спасибо.