summaryrefslogtreecommitdiff
path: root/net-wireless/gnuradio/files/gnuradio-3.10.11.0-boost-1.87.patch
blob: 3a935c47058cece4653d48b8de368f1cfcd563e3 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
https://bugs.gentoo.org/946914
https://github.com/gnuradio/gnuradio/issues/7564
https://github.com/gnuradio/gnuradio/pull/7554

From b30b5feb130a1997c53bce61a85885858d4c9a0d Mon Sep 17 00:00:00 2001
From: Landry Breuil <landry@openbsd.org>
Date: Wed, 27 Nov 2024 14:16:08 +0100
Subject: [PATCH] gr-network: fix build with boost 1.87

- stop using asio..query
- replace deprecated io_context.reset() by restart()
- drop unneeded io_context.reset() calls
- stop using asio::buffer_cast

Signed-off-by: Landry Breuil <landry@openbsd.org>
---
 gr-network/lib/socket_pdu_impl.cc | 25 ++++++++++++++++++-------
 gr-network/lib/tcp_sink_impl.cc   |  9 +++------
 gr-network/lib/udp_sink_impl.cc   |  8 +++-----
 gr-network/lib/udp_source_impl.cc |  3 +--
 4 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/gr-network/lib/socket_pdu_impl.cc b/gr-network/lib/socket_pdu_impl.cc
index ef2ce6b4828..7cfef6812eb 100644
--- a/gr-network/lib/socket_pdu_impl.cc
+++ b/gr-network/lib/socket_pdu_impl.cc
@@ -54,9 +54,12 @@ socket_pdu_impl::socket_pdu_impl(std::string type,
         d_tcp_endpoint = asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port_num);
     } else if ((type == "TCP_SERVER") || (type == "TCP_CLIENT")) {
         asio::ip::tcp::resolver resolver(d_io_context);
-        asio::ip::tcp::resolver::query query(
-            asio::ip::tcp::v4(), addr, port, asio::ip::resolver_query_base::passive);
-        d_tcp_endpoint = *resolver.resolve(query);
+        d_tcp_endpoint = *(resolver
+                               .resolve(asio::ip::tcp::v4(),
+                                        addr,
+                                        port,
+                                        asio::ip::resolver_query_base::passive)
+                               .cbegin());
     } else if ((type == "UDP_SERVER") &&
                ((addr.empty()) || (addr == "0.0.0.0"))) { // Bind on all interfaces
         int port_num = atoi(port.c_str());
@@ -66,13 +69,21 @@ socket_pdu_impl::socket_pdu_impl(std::string type,
         d_udp_endpoint = asio::ip::udp::endpoint(asio::ip::udp::v4(), port_num);
     } else if ((type == "UDP_SERVER") || (type == "UDP_CLIENT")) {
         asio::ip::udp::resolver resolver(d_io_context);
-        asio::ip::udp::resolver::query query(
-            asio::ip::udp::v4(), addr, port, asio::ip::resolver_query_base::passive);
 
         if (type == "UDP_SERVER")
-            d_udp_endpoint = *resolver.resolve(query);
+            d_udp_endpoint = *(resolver
+                                   .resolve(asio::ip::udp::v4(),
+                                            addr,
+                                            port,
+                                            asio::ip::resolver_query_base::passive)
+                                   .cbegin());
         else
-            d_udp_endpoint_other = *resolver.resolve(query);
+            d_udp_endpoint_other = *(resolver
+                                         .resolve(asio::ip::udp::v4(),
+                                                  addr,
+                                                  port,
+                                                  asio::ip::resolver_query_base::passive)
+                                         .cbegin());
     }
 
     if (type == "TCP_SERVER") {
diff --git a/gr-network/lib/tcp_sink_impl.cc b/gr-network/lib/tcp_sink_impl.cc
index bbbc053db20..b7120ad87e4 100644
--- a/gr-network/lib/tcp_sink_impl.cc
+++ b/gr-network/lib/tcp_sink_impl.cc
@@ -63,10 +63,8 @@ bool tcp_sink_impl::start()
 
         std::string s_port = std::to_string(d_port);
         asio::ip::tcp::resolver resolver(d_io_context);
-        asio::ip::tcp::resolver::query query(
-            d_host, s_port, asio::ip::resolver_query_base::passive);
-
-        d_endpoint = *resolver.resolve(query, err);
+        d_endpoint = *(
+            resolver.resolve(d_host, s_port, asio::ip::tcp::resolver::passive).cbegin());
 
         if (err) {
             throw std::runtime_error(
@@ -159,7 +157,7 @@ void tcp_sink_impl::connect(bool initial_connection)
             d_acceptor = new asio::ip::tcp::acceptor(
                 d_io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), d_port));
     } else {
-        d_io_context.reset();
+        d_io_context.restart();
     }
 
     if (d_tcpsocket) {
@@ -194,7 +192,6 @@ bool tcp_sink_impl::stop()
         d_tcpsocket = NULL;
     }
 
-    d_io_context.reset();
     d_io_context.stop();
 
     if (d_acceptor) {
diff --git a/gr-network/lib/udp_sink_impl.cc b/gr-network/lib/udp_sink_impl.cc
index bbdb96f8bb5..3e2462a5e9b 100644
--- a/gr-network/lib/udp_sink_impl.cc
+++ b/gr-network/lib/udp_sink_impl.cc
@@ -125,11 +125,10 @@ bool udp_sink_impl::start()
     std::string str_port = std::to_string(d_port);
     std::string str_host = d_host.empty() ? std::string("localhost") : d_host;
     asio::ip::udp::resolver resolver(d_io_context);
-    asio::ip::udp::resolver::query query(
-        str_host, str_port, asio::ip::resolver_query_base::passive);
-
     asio::error_code err;
-    d_endpoint = *resolver.resolve(query, err);
+    d_endpoint =
+        *(resolver.resolve(str_host, str_port, asio::ip::tcp::resolver::passive, err)
+              .cbegin());
 
     if (err) {
         throw std::runtime_error(std::string("[UDP Sink] Unable to resolve host/IP: ") +
@@ -177,7 +176,6 @@ bool udp_sink_impl::stop()
         delete d_udpsocket;
         d_udpsocket = nullptr;
 
-        d_io_context.reset();
         d_io_context.stop();
     }
 
diff --git a/gr-network/lib/udp_source_impl.cc b/gr-network/lib/udp_source_impl.cc
index 37f38a9b72d..774f348b90c 100644
--- a/gr-network/lib/udp_source_impl.cc
+++ b/gr-network/lib/udp_source_impl.cc
@@ -163,7 +163,6 @@ bool udp_source_impl::stop()
         delete d_udpsocket;
         d_udpsocket = nullptr;
 
-        d_io_context.reset();
         d_io_context.stop();
     }
 
@@ -275,7 +274,7 @@ int udp_source_impl::work(int noutput_items,
             // Get the data and add it to our local queue.  We have to maintain a
             // local queue in case we read more bytes than noutput_items is asking
             // for.  In that case we'll only return noutput_items bytes
-            const char* read_data = asio::buffer_cast<const char*>(d_read_buffer.data());
+            const char* read_data = static_cast<const char*>(d_read_buffer.data().data());
 
             // Discard bytes if the input is longer than the buffer
             if (bytes_read > d_localqueue_writer->bufsize()) {