Leading zeros in an IP octet indicate octal. If you ping 192.168.077.1 from both Linux and Windows you get
ping 192.168.077.1 PING 192.168.077.1 (192.168.63.1) 56(84) bytes of data.
Note how it converted 077 to 63.
James
On Thu, Feb 25, 2016 at 1:20 PM, Mark R Stallard
John Davies
wrote: If my address is 192.168.1.112 everything works If my address is 192.168.001.112 it doesn’t work and throws an exception about not finding the host.
It’s not a big deal, but it sure took me a long time to track down.
Is there some sort of Boost magic I can do to convert the bad address into a good address?
If you still need to remove leading zeroes from the address, consider using Boost.Regex (or stdlib regex if you have a C++11 toolset).
The regular expression "\b0+(?=[1-9])" will match one or more leading zeroes that precede a non-zero digit. Replace each match with an empty string.
|+| M a r k |+|
*Mark Stallard* Business Application Services Global Business Services Information Technology * Raytheon Company*
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users