From ec7964e8fb970b2ea74393c5071464aad4fd9c06 Mon Sep 17 00:00:00 2001 From: Mike Jumper Date: Wed, 4 Jan 2023 12:05:02 -0800 Subject: [PATCH] GUACAMOLE-1538: Return number of bytes written for guac_terminal_write() and guac_terminal_printf(). --- src/terminal/terminal.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/terminal/terminal.c b/src/terminal/terminal.c index cb21e93f..52f90cda 100644 --- a/src/terminal/terminal.c +++ b/src/terminal/terminal.c @@ -852,14 +852,13 @@ void guac_terminal_commit_cursor(guac_terminal* term) { } -int guac_terminal_write(guac_terminal* term, const char* c, int size) { +int guac_terminal_write(guac_terminal* term, const char* buffer, int length) { guac_terminal_lock(term); - while (size > 0) { + for (int written = 0; written < length; written++) { /* Read and advance to next character */ - char current = *(c++); - size--; + char current = *(buffer++); /* Write character to typescript, if any */ if (term->typescript != NULL) @@ -872,7 +871,7 @@ int guac_terminal_write(guac_terminal* term, const char* c, int size) { guac_terminal_unlock(term); guac_terminal_notify(term); - return 0; + return length; } @@ -2104,4 +2103,4 @@ void guac_terminal_remove_user(guac_terminal* terminal, guac_user* user) { /* Remove the user from the terminal cursor */ guac_common_cursor_remove_user(terminal->cursor, user); -} \ No newline at end of file +}