summaryrefslogtreecommitdiff
path: root/chat
diff options
context:
space:
mode:
authorEivind Næss <eivnaes@yahoo.com>2021-09-23 08:19:35 -0700
committerEivind Næss <eivnaes@yahoo.com>2021-09-23 13:41:52 -0700
commit410fcb63fecc76af3818d5fba8fc155a3949c1f1 (patch)
treed146c9b2ee9362479cdae95325a723f48b50e827 /chat
parent6f69f0d9fdbfe648e55dbfa81a248ff3f6bb3dd4 (diff)
downloadppp-410fcb63fecc76af3818d5fba8fc155a3949c1f1.tar.gz
Fixing GCC -Wunused-result warning in chat.c resolving comments from Paul Mackerras
Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
Diffstat (limited to 'chat')
-rw-r--r--chat/chat.c44
1 files 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 */