]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
linux-user: Tidy print_socket_protocol
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 27 Aug 2025 21:36:25 +0000 (07:36 +1000)
committerRichard Henderson <richard.henderson@linaro.org>
Fri, 29 Aug 2025 20:59:26 +0000 (06:59 +1000)
Sink all of the qemu_log calls to the end, collecting only
a string for the name, if identified.  Merge separate if
blocks into one switch.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/strace.c

index 786354627aa4e315b85019e07932a75dccbbb6f8..1233ebceb08b13b1c2698c6e1d54b8d98cbc511b 100644 (file)
@@ -499,116 +499,118 @@ print_socket_type(int type)
 static void
 print_socket_protocol(int domain, int type, int protocol)
 {
-    if (domain == AF_PACKET ||
-        (domain == AF_INET && type == TARGET_SOCK_PACKET)) {
+    const char *name = NULL;
+
+    switch (domain) {
+    case AF_PACKET:
         switch (protocol) {
-        case 0x0003:
-            qemu_log("ETH_P_ALL");
+        case 3:
+            name = "ETH_P_ALL";
             break;
-        default:
-            qemu_log("%d", protocol);
         }
-        return;
-    }
+        break;
 
-    if (domain == PF_NETLINK) {
+    case PF_NETLINK:
         switch (protocol) {
         case NETLINK_ROUTE:
-            qemu_log("NETLINK_ROUTE");
+            name = "NETLINK_ROUTE";
             break;
         case NETLINK_UNUSED:
-            qemu_log("NETLINK_UNUSED");
+            name = "NETLINK_UNUSED";
             break;
         case NETLINK_USERSOCK:
-            qemu_log("NETLINK_USERSOCK");
+            name = "NETLINK_USERSOCK";
             break;
         case NETLINK_FIREWALL:
-            qemu_log("NETLINK_FIREWALL");
+            name = "NETLINK_FIREWALL";
             break;
         case NETLINK_SOCK_DIAG:
-            qemu_log("NETLINK_SOCK_DIAG");
+            name = "NETLINK_SOCK_DIAG";
             break;
         case NETLINK_NFLOG:
-            qemu_log("NETLINK_NFLOG");
+            name = "NETLINK_NFLOG";
             break;
         case NETLINK_XFRM:
-            qemu_log("NETLINK_XFRM");
+            name = "NETLINK_XFRM";
             break;
         case NETLINK_SELINUX:
-            qemu_log("NETLINK_SELINUX");
+            name = "NETLINK_SELINUX";
             break;
         case NETLINK_ISCSI:
-            qemu_log("NETLINK_ISCSI");
+            name = "NETLINK_ISCSI";
             break;
         case NETLINK_AUDIT:
-            qemu_log("NETLINK_AUDIT");
+            name = "NETLINK_AUDIT";
             break;
         case NETLINK_FIB_LOOKUP:
-            qemu_log("NETLINK_FIB_LOOKUP");
+            name = "NETLINK_FIB_LOOKUP";
             break;
         case NETLINK_CONNECTOR:
-            qemu_log("NETLINK_CONNECTOR");
+            name = "NETLINK_CONNECTOR";
             break;
         case NETLINK_NETFILTER:
-            qemu_log("NETLINK_NETFILTER");
+            name = "NETLINK_NETFILTER";
             break;
         case NETLINK_IP6_FW:
-            qemu_log("NETLINK_IP6_FW");
+            name = "NETLINK_IP6_FW";
             break;
         case NETLINK_DNRTMSG:
-            qemu_log("NETLINK_DNRTMSG");
+            name = "NETLINK_DNRTMSG";
             break;
         case NETLINK_KOBJECT_UEVENT:
-            qemu_log("NETLINK_KOBJECT_UEVENT");
+            name = "NETLINK_KOBJECT_UEVENT";
             break;
         case NETLINK_GENERIC:
-            qemu_log("NETLINK_GENERIC");
+            name = "NETLINK_GENERIC";
             break;
         case NETLINK_SCSITRANSPORT:
-            qemu_log("NETLINK_SCSITRANSPORT");
+            name = "NETLINK_SCSITRANSPORT";
             break;
         case NETLINK_ECRYPTFS:
-            qemu_log("NETLINK_ECRYPTFS");
+            name = "NETLINK_ECRYPTFS";
             break;
         case NETLINK_RDMA:
-            qemu_log("NETLINK_RDMA");
+            name = "NETLINK_RDMA";
             break;
         case NETLINK_CRYPTO:
-            qemu_log("NETLINK_CRYPTO");
+            name = "NETLINK_CRYPTO";
             break;
         case NETLINK_SMC:
-            qemu_log("NETLINK_SMC");
-            break;
-        default:
-            qemu_log("%d", protocol);
+            name = "NETLINK_SMC";
             break;
         }
-        return;
-    }
+        break;
 
-    if (domain == AF_INET || domain == AF_INET6) {
+    case AF_INET:
+    case AF_INET6:
         switch (protocol) {
+        case 3:
+            if (domain == AF_INET && type == TARGET_SOCK_PACKET) {
+                name = "ETH_P_ALL";
+            }
+            break;
         case IPPROTO_IP:
-            qemu_log("IPPROTO_IP");
+            name = "IPPROTO_IP";
             break;
         case IPPROTO_TCP:
-            qemu_log("IPPROTO_TCP");
+            name = "IPPROTO_TCP";
             break;
         case IPPROTO_UDP:
-            qemu_log("IPPROTO_UDP");
+            name = "IPPROTO_UDP";
             break;
         case IPPROTO_RAW:
-            qemu_log("IPPROTO_RAW");
-            break;
-        default:
-            qemu_log("%d", protocol);
+            name = "IPPROTO_RAW";
             break;
         }
-        return;
+        break;
     }
-    qemu_log("%d", protocol);
-}
 
+    if (name) {
+        qemu_log("%s", name);
+    } else {
+        qemu_log("%d", protocol);
+    }
+}
 
 #ifdef TARGET_NR__newselect
 static void