]> git.proxmox.com Git - mirror_qemu.git/commitdiff
io: Fix double shift usages on QIOChannel features
authorFelipe Franciosi <felipe@nutanix.com>
Thu, 29 Sep 2016 15:52:35 +0000 (08:52 -0700)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 26 Oct 2016 16:19:53 +0000 (18:19 +0200)
When QIOChannels were introduced in 666a3af9, the feature bits were
already defined shifted. However, when using them, the code was shifting
them again. The incorrect use was consistent until 74b6ce43, where
QIO_CHANNEL_FEATURE_LISTEN was defined shifted but tested unshifted.

This patch changes the definition to be unshifted and fixes the
incorrect usage introduced on 74b6ce43.

Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
include/io/channel.h
io/channel-socket.c

index 752e89f4dc206ac6e1b13d9865f2d85d8c92a3e2..5368604c8e80671bf03dd5c235f03b03b2729002 100644 (file)
@@ -40,9 +40,9 @@ typedef struct QIOChannelClass QIOChannelClass;
 typedef enum QIOChannelFeature QIOChannelFeature;
 
 enum QIOChannelFeature {
-    QIO_CHANNEL_FEATURE_FD_PASS  = (1 << 0),
-    QIO_CHANNEL_FEATURE_SHUTDOWN = (1 << 1),
-    QIO_CHANNEL_FEATURE_LISTEN   = (1 << 2),
+    QIO_CHANNEL_FEATURE_FD_PASS,
+    QIO_CHANNEL_FEATURE_SHUTDOWN,
+    QIO_CHANNEL_FEATURE_LISTEN,
 };
 
 
index 196a4f18f7702cda40c8fd730de9b14e922444cf..6710b2ee96eaee32735707dab836112ba5498c45 100644 (file)
@@ -403,7 +403,7 @@ static void qio_channel_socket_finalize(Object *obj)
     QIOChannelSocket *ioc = QIO_CHANNEL_SOCKET(obj);
 
     if (ioc->fd != -1) {
-        if (QIO_CHANNEL(ioc)->features & QIO_CHANNEL_FEATURE_LISTEN) {
+        if (QIO_CHANNEL(ioc)->features & (1 << QIO_CHANNEL_FEATURE_LISTEN)) {
             Error *err = NULL;
 
             socket_listen_cleanup(ioc->fd, &err);