summaryrefslogtreecommitdiff
path: root/libraries/wvstreams/patches/11_gcc-6.patch
blob: b084887ba791ffc9ecb10c3c1718005cf0f0c599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Description: Fix compilation with gcc-6
Author: Gert Wollny <gw.fossdev@gmail.com>
Last-Updated: 2016-07-26
Forwarded: No
Bug-Debian: https://bugs.debian.org/811659
Bug-Debian: https://bugs.debian.org/831146

--- a/streams/wvstream.cc
+++ b/streams/wvstream.cc
@@ -907,9 +907,9 @@
     
     if (forceable)
     {
-	si.wants.readable = readcb;
-	si.wants.writable = writecb;
-	si.wants.isexception = exceptcb;
+	si.wants.readable = static_cast<bool>(readcb);
+	si.wants.writable = static_cast<bool>(writecb);
+	si.wants.isexception = static_cast<bool>(exceptcb);
     }
     else
     {
@@ -1019,7 +1019,8 @@
 
 IWvStream::SelectRequest WvStream::get_select_request()
 {
-    return IWvStream::SelectRequest(readcb, writecb, exceptcb);
+    return IWvStream::SelectRequest(static_cast<bool>(readcb), static_cast<bool>(writecb),
+				    static_cast<bool>(exceptcb));
 }
 
 
@@ -1107,7 +1108,8 @@
     // inefficient, because if the alarm was expired then pre_select()
     // returned true anyway and short-circuited the previous select().
     TRACE("hello-%p\n", this);
-    return !alarm_was_ticking || select(0, readcb, writecb, exceptcb);
+    return !alarm_was_ticking || select(0, static_cast<bool>(readcb),
+					static_cast<bool>(writecb), static_cast<bool>(exceptcb));
 }