From 410fcb63fecc76af3818d5fba8fc155a3949c1f1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Eivind=20N=C3=A6ss?= Date: Thu, 23 Sep 2021 08:19:35 -0700 Subject: [PATCH] Fixing GCC -Wunused-result warning in chat.c resolving comments from Paul Mackerras MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Eivind Næss --- chat/chat.c | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/chat/chat.c b/chat/chat.c index d2d255a..64d96c2 100644 --- a/chat/chat.c +++ b/chat/chat.c @@ -201,7 +201,7 @@ SIGTYPE sighup (int signo); void unalarm (void); void init (void); void set_tty_parameters (void); -void echo_stderr (int); +int echo_stderr (int); void break_sequence (void); void terminate (int status); void do_file (char *chat_file); @@ -210,7 +210,7 @@ int put_string (register char *s); int write_char (int c); int put_char (int c); int get_char (void); -void chat_send (register char *s); +int chat_send (register char *s); char *character (int c); void chat_expect (register char *s); char *clean (register char *s, int sending); @@ -983,16 +983,18 @@ char *character(int c) /* * process the reply string */ -void chat_send (register char *s) +int chat_send (register char *s) { char file_data[STR_LEN]; + int len, ret = 0; if (say_next) { say_next = 0; s = clean(s, 1); - write(2, s, strlen(s)); + len = strlen(s); + ret = write(2, s, len) != len; free(s); - return; + return ret; } if (hup_next) { @@ -1001,13 +1003,13 @@ void chat_send (register char *s) signal(SIGHUP, SIG_IGN); else signal(SIGHUP, sighup); - return; + return 0; } if (echo_next) { echo_next = 0; echo = (strcmp(s, "ON") == 0); - return; + return 0; } if (abort_next) { @@ -1027,7 +1029,7 @@ void chat_send (register char *s) if (verbose) msgf("abort on (%v)", s1); - return; + return 0; } if (clear_abort_next) { @@ -1057,7 +1059,7 @@ void chat_send (register char *s) free(s1); if (pack) pack_array(abort_string,old_max); - return; + return 0; } if (report_next) { @@ -1075,7 +1077,7 @@ void chat_send (register char *s) if (verbose) msgf("report (%v)", s1); - return; + return 0; } if (clear_report_next) { @@ -1106,7 +1108,7 @@ void chat_send (register char *s) if (pack) pack_array(report_string,old_max); - return; + return 0; } if (timeout_next) { @@ -1120,7 +1122,7 @@ void chat_send (register char *s) if (verbose) msgf("timeout set to %d seconds", timeout); - return; + return 0; } /* @@ -1167,6 +1169,8 @@ void chat_send (register char *s) if (!put_string(s)) fatal(1, "Failed"); + + return 0; } int get_char(void) @@ -1292,10 +1296,11 @@ int put_string(register char *s) * When called with -1, a '\n' character is generated when * the cursor is not at the beginning of a line. */ -void echo_stderr(int n) +int echo_stderr(int n) { static int need_lf; char *s; + int len, ret = 0; switch (n) { case '\r': /* ignore '\r' */ @@ -1305,15 +1310,17 @@ void echo_stderr(int n) break; /* fall through */ case '\n': - write(2, "\n", 1); + ret = write(2, "\n", 1) != 1; need_lf = 0; break; default: s = character(n); - write(2, s, strlen(s)); + len = strlen(s); + ret = write(2, s, len) != len; need_lf = 1; break; } + return ret; } /* @@ -1352,8 +1359,11 @@ int get_string(register char *string) while ( ! alarmed && (c = get_char()) >= 0) { int n, abort_len, report_len; - if (echo) - echo_stderr(c); + if (echo) { + if (echo_stderr(c) != 0) { + fatal(2, "Could not write to stderr, %m"); + } + } if (verbose && c == '\n') { if (s == logged) msgf(""); /* blank line */ -- 2.39.2