Gerald Pfeifer : ws2_32: Restructure and simplify debugstr_wsaioctl a bit.

Alexandre Julliard julliard at winehq.org
Mon Jan 10 10:55:18 CST 2011


Module: wine
Branch: master
Commit: 37f5080e1bc5e78cad7cf1fa6f0e43e5feb0522f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=37f5080e1bc5e78cad7cf1fa6f0e43e5feb0522f

Author: Gerald Pfeifer <gerald at 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));
 }
 
 /**********************************************************************




More information about the wine-cvs mailing list