]> git.ozlabs.org Git - ppp.git/commitdiff
Fixing GCC -Wunused-result warning in chat.c resolving comments from Paul Mackerras
authorEivind Næss <eivnaes@yahoo.com>
Thu, 23 Sep 2021 15:19:35 +0000 (08:19 -0700)
committerEivind Næss <eivnaes@yahoo.com>
Thu, 23 Sep 2021 20:41:52 +0000 (13:41 -0700)
Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
chat/chat.c

index d2d255a1c7c015660adb75b0f9dcc21e6953d964..64d96c230bfcd943c28e9182711c7fbaee7d20ad 100644 (file)
@@ -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 */