Historically, C uses a 0 to precede an octal number, 0x to precede a
decimal, and 0b for binary. Leading zeroes are otherwise stripped in
numerical representation.

Since 0x is not accepted, I'd call it a bug and request that the numbers
always get treated as decimal, regardless of leading zeros.

There's probably some downstream library making the anachronistic
assumption.

On Wed, Oct 25, 2017 at 1:45 PM, Max Grobecker <
max.grobec...@ml.grobecker.info> wrote:

> Hello,
>
> is there - by standard - a definition on how to represent an IPv4 address?
>
> I have (for example) the IP address "73.0.255.229", which can IMHO also be
> written as "073.000.255.229" as the leading zeroes
> are not giving any changes to the binary representation of this address.
> Am I right on this?
>
> But: When I lookup this IP address on https://stat.ripe.net/073.000.
> 255.229 the first octet is internally getting swapped to "59".
> This can be explained, if you take "073" as an octal value and convert it
> to a decimal value.
> It is definitely a octal-to-decimal conversion thing, as for example also
> the value "010" is getting replaced by "8" and so on.
>
> Now I'm puzzled: Of course, writing IPv4 octets with leading zeroes is not
> very common.
> But: Is it officially prohibited or discouraged?
>
> This weird conversion also happens inside the "geoiplookup" tool by
> MaxMind and I'm not sure if I'm going to be the moron in this story
> or if I found the same bug inside multiple softwares at once ;-)
>
>
> Thanks and greetings from Wuppertal
>  Max
>
>

Reply via email to