Skip to content

Commit 42b1a14

Browse files
committed
Use 'std::array'
1 parent 8e33486 commit 42b1a14

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

libxllmnrd/interface.cpp

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <cstring>
3030
#include <cassert>
3131

32+
using std::array;
3233
using std::for_each;
3334
using std::get;
3435
using std::lock_guard;
@@ -134,9 +135,9 @@ void interface_manager::enable_interface(const unsigned int interface_index)
134135
interface.enabled = true;
135136

136137
if (debug_level() >= 0) {
137-
char interface_name[IF_NAMESIZE] = "?";
138-
if_indextoname(interface_index, interface_name);
139-
syslog(LOG_DEBUG, "device enabled: %s", interface_name);
138+
auto interface_name = array<char, IF_NAMESIZE> {'?'};
139+
if_indextoname(interface_index, interface_name.data());
140+
syslog(LOG_DEBUG, "device enabled: %s", interface_name.data());
140141
}
141142

142143
fire_interface_enabled({this, interface_index});
@@ -152,9 +153,9 @@ void interface_manager::disable_interface(const unsigned int interface_index)
152153
interface.enabled = false;
153154

154155
if (debug_level() >= 0) {
155-
char interface_name[IF_NAMESIZE] = "?";
156-
if_indextoname(interface_index, interface_name);
157-
syslog(LOG_DEBUG, "device disabled: %s", interface_name);
156+
auto interface_name = array<char, IF_NAMESIZE> {'?'};
157+
if_indextoname(interface_index, interface_name.data());
158+
syslog(LOG_DEBUG, "device disabled: %s", interface_name.data());
158159
}
159160

160161
fire_interface_disabled({this, interface_index});
@@ -164,8 +165,8 @@ void interface_manager::disable_interface(const unsigned int interface_index)
164165
void interface_manager::add_interface_address(unsigned int index,
165166
int family, const void *address, size_t address_size)
166167
{
167-
char interface_name[IF_NAMESIZE] = "?";
168-
if_indextoname(index, interface_name);
168+
auto interface_name = array<char, IF_NAMESIZE> {'?'};
169+
if_indextoname(index, interface_name.data());
169170

170171
lock_guard<decltype(_interfaces_mutex)> lock {_interfaces_mutex};
171172

@@ -177,15 +178,15 @@ void interface_manager::add_interface_address(unsigned int index,
177178
*static_cast<const in_addr *>(address));
178179

179180
if (get<1>(inserted) && debug_level() >= 0) {
180-
char ipv4[INET_ADDRSTRLEN];
181-
inet_ntop(AF_INET, address, ipv4, INET_ADDRSTRLEN);
182-
syslog(LOG_DEBUG, "IPv4 address added: %s on %s", ipv4,
183-
interface_name);
181+
auto addrstr = array<char, INET_ADDRSTRLEN> {};
182+
inet_ntop(AF_INET, address, addrstr.data(), addrstr.size());
183+
syslog(LOG_DEBUG, "IPv4 address added: %s on %s",
184+
addrstr.data(), interface_name.data());
184185
}
185186
}
186187
else {
187188
syslog(LOG_INFO, "short IPv4 address (size = %zu) on %s",
188-
address_size, interface_name);
189+
address_size, interface_name.data());
189190
}
190191
break;
191192

@@ -196,30 +197,30 @@ void interface_manager::add_interface_address(unsigned int index,
196197
*static_cast<const in6_addr *>(address));
197198

198199
if (get<1>(inserted) && debug_level() >= 0) {
199-
char ipv6[INET6_ADDRSTRLEN];
200-
inet_ntop(AF_INET6, address, ipv6, INET6_ADDRSTRLEN);
201-
syslog(LOG_DEBUG, "IPv6 address added: %s on %s", ipv6,
202-
interface_name);
200+
auto addrstr = array<char, INET6_ADDRSTRLEN> {};
201+
inet_ntop(AF_INET6, address, addrstr.data(), addrstr.size());
202+
syslog(LOG_DEBUG, "IPv6 address added: %s on %s",
203+
addrstr.data(), interface_name.data());
203204
}
204205
}
205206
else {
206207
syslog(LOG_INFO, "short IPv6 address (size = %zu) on %s",
207-
address_size, interface_name);
208+
address_size, interface_name.data());
208209
}
209210
break;
210211

211212
default:
212213
syslog(LOG_INFO, "address of unknown family %d on %s",
213-
family, interface_name);
214+
family, interface_name.data());
214215
break;
215216
}
216217
}
217218

218219
void interface_manager::remove_interface_address(unsigned int index,
219220
int family, const void *address, size_t address_size)
220221
{
221-
char interface_name[IF_NAMESIZE] = "?";
222-
if_indextoname(index, interface_name);
222+
auto interface_name = array<char, IF_NAMESIZE> {'?'};
223+
if_indextoname(index, interface_name.data());
223224

224225
lock_guard<decltype(_interfaces_mutex)> lock {_interfaces_mutex};
225226

@@ -231,15 +232,15 @@ void interface_manager::remove_interface_address(unsigned int index,
231232
*static_cast<const in_addr *>(address));
232233

233234
if (erased != 0 && debug_level() >= 0) {
234-
char ipv4[INET_ADDRSTRLEN];
235-
inet_ntop(AF_INET, address, ipv4, INET_ADDRSTRLEN);
236-
syslog(LOG_DEBUG, "IPv4 address removed: %s on %s", ipv4,
237-
interface_name);
235+
auto addrstr = array<char, INET_ADDRSTRLEN> {};
236+
inet_ntop(AF_INET, address, addrstr.data(), addrstr.size());
237+
syslog(LOG_DEBUG, "IPv4 address removed: %s on %s",
238+
addrstr.data(), interface_name.data());
238239
}
239240
}
240241
else {
241242
syslog(LOG_INFO, "short IPv4 address (size = %zu) on %s",
242-
address_size, interface_name);
243+
address_size, interface_name.data());
243244
}
244245
break;
245246

@@ -250,21 +251,21 @@ void interface_manager::remove_interface_address(unsigned int index,
250251
*static_cast<const in6_addr *>(address));
251252

252253
if (erased != 0 && debug_level() >= 0) {
253-
char ipv6[INET6_ADDRSTRLEN];
254-
inet_ntop(AF_INET6, address, ipv6, INET6_ADDRSTRLEN);
255-
syslog(LOG_DEBUG, "IPv6 address removed: %s on %s", ipv6,
256-
interface_name);
254+
auto addrstr = array<char, INET6_ADDRSTRLEN> {};
255+
inet_ntop(AF_INET6, address, addrstr.data(), addrstr.size());
256+
syslog(LOG_DEBUG, "IPv6 address removed: %s on %s",
257+
addrstr.data(), interface_name.data());
257258
}
258259
}
259260
else {
260261
syslog(LOG_INFO, "short IPv6 address (size = %zu) on %s",
261-
address_size, interface_name);
262+
address_size, interface_name.data());
262263
}
263264
break;
264265

265266
default:
266267
syslog(LOG_INFO, "address of unknown family %d on %s",
267-
family, interface_name);
268+
family, interface_name.data());
268269
break;
269270
}
270271
}

0 commit comments

Comments
 (0)