diff options
author | Felipe Franciosi <felipe@nutanix.com> | 2016-09-29 08:52:35 -0700 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2016-10-26 18:19:53 +0200 |
commit | 8fbf66121253969e59fe40de66e55bb2f27c5090 (patch) | |
tree | 3e856827e606144e033c61228c1f15b8b0a15a29 | |
parent | da158a86c407fa7b9da848b571356a26809d8df9 (diff) | |
download | qemu-8fbf66121253969e59fe40de66e55bb2f27c5090.zip |
io: Fix double shift usages on QIOChannel features
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>
-rw-r--r-- | include/io/channel.h | 6 | ||||
-rw-r--r-- | io/channel-socket.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/io/channel.h b/include/io/channel.h index 752e89f4dc..5368604c8e 100644 --- a/include/io/channel.h +++ b/include/io/channel.h @@ -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, }; diff --git a/io/channel-socket.c b/io/channel-socket.c index 196a4f18f7..6710b2ee96 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -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); |