File tree 1 file changed +10
-2
lines changed
1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -207,7 +207,7 @@ bool IPAddress::fromString6(const char *address) {
207
207
while ((*address != ' \0 ' ) && (!isdigit (*address))) { // skip all non-digit after '%'
208
208
address++;
209
209
}
210
- _zone = atol (address);
210
+ _zone = atol (address) + 1 ; // increase by one by convention, so we can have zone '0'
211
211
while (*address != ' \0 ' ) {
212
212
address++;
213
213
}
@@ -360,7 +360,15 @@ size_t IPAddress::printTo(Print &p, bool includeZone) const {
360
360
// In the interim, we just output the index number
361
361
if (_zone > 0 && includeZone) {
362
362
n += p.print (' %' );
363
- n += p.print (_zone);
363
+ // look for the interface name
364
+ for (netif* intf = netif_list; intf != nullptr ; intf = intf->next ) {
365
+ if (_zone - 1 == intf->num ) {
366
+ n += p.print (intf->name [0 ]);
367
+ n += p.print (intf->name [1 ]);
368
+ break ;
369
+ }
370
+ }
371
+ n += p.print (_zone - 1 );
364
372
}
365
373
return n;
366
374
}
You can’t perform that action at this time.
0 commit comments