Module: wine Branch: master Commit: 37f5080e1bc5e78cad7cf1fa6f0e43e5feb0522f URL: http://source.winehq.org/git/wine.git/?a=commit;h=37f5080e1bc5e78cad7cf1fa6f...
Author: Gerald Pfeifer gerald@pfeifer.com Date: Sat Jan 8 16:47:59 2011 +0100
ws2_32: Restructure and simplify debugstr_wsaioctl a bit.
---
dlls/ws2_32/socket.c | 69 ++++++++++++++++++++++--------------------------- 1 files changed, 31 insertions(+), 38 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index 3d85bad..f7607c5 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -2967,14 +2967,24 @@ char* WINAPI WS_inet_ntoa(struct WS_in_addr in)
static const char *debugstr_wsaioctl(DWORD ioctl) { + const char *buf_type, *family; + switch(ioctl & 0x18000000) { - case WS_IOC_UNIX: + case WS_IOC_WS2: + family = "IOC_WS2"; + break; + case WS_IOC_PROTOCOL: + family = "IOC_PROTOCOL"; + break; + case WS_IOC_VENDOR: + family = "IOC_VENDOR"; + break; + default: /* WS_IOC_UNIX */ { BYTE size = (ioctl >> 16) & WS_IOCPARM_MASK; char x = (ioctl & 0xff00) >> 8; BYTE y = ioctl & 0xff; - const char *buf_type; char args[14];
switch (ioctl & (WS_IOC_VOID|WS_IOC_INOUT)) @@ -2998,47 +3008,30 @@ static const char *debugstr_wsaioctl(DWORD ioctl) } return wine_dbg_sprintf("%s(%s)", buf_type, args); } - default: - { - USHORT code = ioctl & 0xffff; - const char *family, *buf_type; + }
- /* This switch looks redundant, but isn't: the case WS_IOC_UNIX - * is handled differently than all others. - */ - switch(ioctl & 0x18000000) - { - case WS_IOC_WS2: - family = "IOC_WS2"; + /* We are different from WS_IOC_UNIX. */ + switch (ioctl & (WS_IOC_VOID|WS_IOC_INOUT)) + { + case WS_IOC_VOID: + buf_type = "_WSAIO"; break; - case WS_IOC_PROTOCOL: - family = "IOC_PROTOCOL"; + case WS_IOC_INOUT: + buf_type = "_WSAIORW"; break; - case WS_IOC_VENDOR: - family = "IOC_VENDOR"; + case WS_IOC_IN: + buf_type = "_WSAIOW"; + break; + case WS_IOC_OUT: + buf_type = "_WSAIOR"; + break; + default: + buf_type = "?"; break; - } - switch (ioctl & (WS_IOC_VOID|WS_IOC_INOUT)) - { - case WS_IOC_VOID: - buf_type = "_WSAIO"; - break; - case WS_IOC_INOUT: - buf_type = "_WSAIORW"; - break; - case WS_IOC_IN: - buf_type = "_WSAIOW"; - break; - case WS_IOC_OUT: - buf_type = "_WSAIOR"; - break; - default: - buf_type = "?"; - break; - } - return wine_dbg_sprintf("%s(%s, %d)", buf_type, family, code); - } } + + return wine_dbg_sprintf("%s(%s, %d)", buf_type, family, + (USHORT)(ioctl & 0xffff)); }
/**********************************************************************