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
|
Fix building with C++14, which errors out due to explicit operator bool() conversion
See also: https://bugs.gentoo.org/show_bug.cgi?id=594058
--- 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,7 @@
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 +1107,7 @@
// 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));
}
|