mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +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 = \
|
TARGET_CFLAGS = \
|
||||||
-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
-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
|
# require os code to explicitly request A/W version of structs/functions
|
||||||
TARGET_CFLAGS += -Isrc -Iadns_win32
|
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 */
|
#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 */
|
#endif /* ADNS_WIN32_H_INCLUDED */
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ static void tcp_close(adns_state ads) {
|
||||||
|
|
||||||
serv= ads->tcpserver;
|
serv= ads->tcpserver;
|
||||||
adns_socket_close(ads->tcpsocket);
|
adns_socket_close(ads->tcpsocket);
|
||||||
ads->tcpsocket= -1;
|
ads->tcpsocket= INVALID_SOCKET;
|
||||||
ads->tcprecv.used= ads->tcprecv_skip= ads->tcpsend.used= 0;
|
ads->tcprecv.used= ads->tcprecv_skip= ads->tcpsend.used= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue