* avoiding allocating an unnecessary byte for IPv4
The inet.h file uses 16 as the string in C needs the last null byte
1b929c02af/include/linux/inet.h (L49)
However, strings in Nim do not need this. So one byte is being allocated unnecessary and will never be used.
* avoid unnecessary allocation in IPv6 dollar
It is currently allocating 48 bytes. However, the Nim implementation for IPv6 will print a maximum of 39 characters. Nim does not implement IPv6 "0000:0000:0000:0000:0000:ffff:255.255.255.255" (45 characters) nor "0000:0000:0000:0000:0000:ffff:255.255.255.255%3" (47 characters).
The indication in inet.h for 48 is due to the maximum use of 47 characters of a C string that needs a null byte at the end. So 48.
1b929c02af/include/linux/inet.h (L50)