aboutsummaryrefslogtreecommitdiff
path: root/examples/text-input.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/text-input.c')
-rw-r--r--examples/text-input.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/text-input.c b/examples/text-input.c
index 36363275..2f530d27 100644
--- a/examples/text-input.c
+++ b/examples/text-input.c
@@ -244,15 +244,15 @@ static void text_input_handle_done(void *data,
buffer[strlen(buffer) - delete_before] = '\0';
}
- char *commit_string = current.commit;
+ const char *commit_string = current.commit;
if (!commit_string) {
commit_string = "";
}
- char *old_buffer = buffer;
- buffer = calloc(strlen(buffer) + strlen(commit_string) + 1, sizeof(char)); // realloc may fail anyway
- strcpy(buffer, old_buffer);
- free(old_buffer);
- strcat(buffer, commit_string);
+ size_t new_size = strlen(buffer) + strlen(commit_string) + 1;
+ char *new_buffer = calloc(new_size, sizeof(char)); // realloc may fail anyway
+ snprintf(new_buffer, new_size, "%s%s", buffer, commit_string);
+ free(buffer);
+ buffer = new_buffer;
send_status_update(zwp_text_input_v3);
show_status();