mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
Some warning suppression. Read the <rant/>.
svn path=/trunk/; revision=13810
This commit is contained in:
parent
e3fe1f6006
commit
8dd6c79a58
3 changed files with 31 additions and 2 deletions
|
@ -8,7 +8,7 @@ TARGET_NAME = adns
|
|||
|
||||
TARGET_CFLAGS = \
|
||||
-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
||||
-Wstrict-prototypes -Wmissing-prototypes -Wall -DADNS_JGAA_WIN32
|
||||
-Wstrict-prototypes -Wmissing-prototypes -Wall -DADNS_JGAA_WIN32 -D__USE_W32API -D__REACTOS__
|
||||
|
||||
# require os code to explicitly request A/W version of structs/functions
|
||||
TARGET_CFLAGS += -Isrc -Iadns_win32
|
||||
|
|
|
@ -157,5 +157,34 @@ ADNS_API int adns_getpid(void);
|
|||
|
||||
#include "timercmp.h" /* arty added: mingw headers don't seem to have it */
|
||||
|
||||
/*
|
||||
* <rant>
|
||||
* These fix the following warning in GCC:
|
||||
* warning: passing arg 1 of `ntohs' with different width due to prototype
|
||||
*
|
||||
* Even if you declare an unsigned char or unsigned short variable and pass
|
||||
* it to htons or ntohs, this warning will be generated. I believe this is
|
||||
* a gcc bug. You can try to reproduce the bug like this:
|
||||
*
|
||||
* u_short foo(u_short bar) {
|
||||
* return htons(bar);
|
||||
* }
|
||||
*
|
||||
* Using the reactos compiler settings this generates the error. Unless I'm
|
||||
* missing something, the active prototypes for htons and ntohs are:
|
||||
*
|
||||
* u_short PASCAL htons(u_short);
|
||||
* u_short PASCAL ntohs(u_short);
|
||||
*
|
||||
* From winsock2.h. Since the function above has exactly the same signature
|
||||
* as htons except for the required PASCAL (__stdcall) decoration, gcc is
|
||||
* erroneously detecting a narrowed value.
|
||||
* </rant>
|
||||
*/
|
||||
#ifdef __REACTOS__
|
||||
#define htons(x) ((((x)&0xff)<<8)|(((x)>>8)&0xff))
|
||||
#define ntohs(x) htons(x)
|
||||
#endif
|
||||
|
||||
#endif /* ADNS_WIN32_H_INCLUDED */
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ static void tcp_close(adns_state ads) {
|
|||
|
||||
serv= ads->tcpserver;
|
||||
adns_socket_close(ads->tcpsocket);
|
||||
ads->tcpsocket= -1;
|
||||
ads->tcpsocket= INVALID_SOCKET;
|
||||
ads->tcprecv.used= ads->tcprecv_skip= ads->tcpsend.used= 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue