mirror of
https://github.com/osmarks/ngircd.git
synced 2025-04-08 08:46:39 +00:00
Fix gcc warning "ignoring return value of ..."
This patch fixes two warnings of gcc 4.4.3 when used with eglibc 2.11.1: ngircd.c: In function ‘NGIRCd_Init’: ngircd.c:801: warning: ignoring return value of ‘chdir’, declared with attribute warn_unused_result conn.c: In function ‘Simple_Message’: conn.c:2041: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result The first by checking the return code and an appropriate error message, the second by "better" ignoring it (which is correct there!) ...
This commit is contained in:
parent
628c6c962b
commit
025342fe46
@ -2025,20 +2025,32 @@ cb_Read_Resolver_Result( int r_fd, UNUSED short events )
|
||||
} /* cb_Read_Resolver_Result */
|
||||
|
||||
|
||||
/**
|
||||
* Write a "simple" (error) message to a socket.
|
||||
* The message is sent without using the connection write buffers, without
|
||||
* compression/encryption, and even without any error reporting. It is
|
||||
* designed for error messages of e.g. New_Connection(). */
|
||||
static void
|
||||
Simple_Message( int Sock, const char *Msg )
|
||||
Simple_Message(int Sock, const char *Msg)
|
||||
{
|
||||
char buf[COMMAND_LEN];
|
||||
size_t len;
|
||||
/* Write "simple" message to socket, without using compression
|
||||
* or even the connection write buffers. Used e.g. for error
|
||||
* messages by New_Connection(). */
|
||||
assert( Sock > NONE );
|
||||
assert( Msg != NULL );
|
||||
|
||||
strlcpy( buf, Msg, sizeof buf - 2);
|
||||
len = strlcat( buf, "\r\n", sizeof buf);
|
||||
(void)write(Sock, buf, len);
|
||||
assert(Sock > NONE);
|
||||
assert(Msg != NULL);
|
||||
|
||||
strlcpy(buf, Msg, sizeof buf - 2);
|
||||
len = strlcat(buf, "\r\n", sizeof buf);
|
||||
if (write(Sock, buf, len) < 0) {
|
||||
/* Because this function most probably got called to log
|
||||
* an error message, any write error is ignored here to
|
||||
* avoid an endless loop. But casting the result of write()
|
||||
* to "void" doesn't satisfy the GNU C code attribute
|
||||
* "warn_unused_result" which is used by some versions of
|
||||
* glibc (e.g. 2.11.1), therefore this silly error
|
||||
* "handling" code here :-( */
|
||||
return;
|
||||
}
|
||||
} /* Simple_Error */
|
||||
|
||||
|
||||
|
@ -798,7 +798,9 @@ NGIRCd_Init( bool NGIRCd_NoDaemon )
|
||||
#else
|
||||
setpgrp(0, getpid());
|
||||
#endif
|
||||
chdir( "/" );
|
||||
if (chdir( "/" ) != 0)
|
||||
Log(LOG_ERR, "Can't change directory to '/': %s",
|
||||
strerror(errno));
|
||||
|
||||
/* Detach stdin, stdout and stderr */
|
||||
Setup_FDStreams( );
|
||||
|
Loading…
x
Reference in New Issue
Block a user