ipv6calc BUG: --printuppercase doesn't work. It is documented to work
in version 0.45 and 0.50, but it does not work. --uppercase (the old
option?), however, does. Proof:
$ ipv6calc --version
ipv6calc: version 0.50
$ ipv6calc -q 'Itq!EN%BS(OvEV3?2kP!' --out ipv6addr --printfulluncompressed --printuppercase
ipv6calc: unrecognized option `--printuppercase'
3ffe:81d0:ffff:0000:0000:0000:0000:0003
$ ipv6calc -q 'Itq!EN%BS(OvEV3?2kP!' --out ipv6addr --printfulluncompressed --uppercase
3FFE:81D0:FFFF:0000:0000:0000:0000:0003
$ ipv6calc --out ipv6addr --examples
ipv6calc: version 0.50
Print a given IPv6 address depending on format options:
Uncompressed, e.g.
3ffe:ffff:100:f101::1 -> 3ffe:ffff:100:f101:0:0:0:1
3ffe:ffff:100:f101::1/64 -> 3ffe:ffff:100:f101:0:0:0:1/64
Full uncompressed, e.g.
3ffe:ffff:100:f101::1 -> 3ffe:ffff:0100:f101:0000:0000:0000:0001
Compressed, e.g.
3ffe:ffff:0100:f101:0000:0000:0000:0001 -> 3ffe:ffff:100:f101::1
Available format options:
--printlowercase: Print output in lower case
--printuppercase: Print output in upper case <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
--printprefix: Print only prefix
--printsuffix: Print only suffix
--maskprefix: Mask prefix bits (suffix set to 0)
--masksuffix: Mask suffix bits (prefix set to 0)
--printstart <num>: Printing starts at bit <num>
--printend <num>: Printing ends at bit <num>
--printcompressed: Print in compressed format
--printuncompressed: Print in uncompressed format
--printfulluncompressed: Print in full uncompressed format
$
$ ipv6calc --version
ipv6calc: version 0.45
$ ipv6calc -q 'Itq!EN%BS(OvEV3?2kP!' --out ipv6addr --printfulluncompressed --printuppercase
ipv6calc: unrecognized option `--printuppercase'
3ffe:81d0:ffff:0000:0000:0000:0000:0003
$ ipv6calc -q 'Itq!EN%BS(OvEV3?2kP!' --out ipv6addr --printfulluncompressed --uppercase
3FFE:81D0:FFFF:0000:0000:0000:0000:0003
$ pv6calc --out ipv6addr --examples
ipv6calc: version 0.45
Print a given IPv6 address depending on format options:
Uncompressed, e.g.
3ffe:ffff:100:f101::1 -> 3ffe:ffff:100:f101:0:0:0:1
3ffe:ffff:100:f101::1/64 -> 3ffe:ffff:100:f101:0:0:0:1/64
Full uncompressed, e.g.
3ffe:ffff:100:f101::1 -> 3ffe:ffff:0100:f101:0000:0000:0000:0001
Compressed, e.g.
3ffe:ffff:0100:f101:0000:0000:0000:0001 -> 3ffe:ffff:100:f101::1
Available format options:
--printlowercase: Print output in lower case
--printuppercase: Print output in upper case
--printprefix: Print only prefix
--printsuffix: Print only suffix
--maskprefix: Mask prefix bits (suffix set to 0)
--masksuffix: Mask suffix bits (prefix set to 0)
--printstart <num>: Printing starts at bit <num>
--printend <num>: Printing ends at bit <num>
--printcompressed: Print in compressed format
--printuncompressed: Print in uncompressed format
--printfulluncompressed: Print in full uncompressed format
$
I also have a feature request: shorter options. Each option could be
given a short one letter abbreviation, such as -i for --in, -o for
--out, -6 for --ipv6addr, -U for --printuppercase, -u for
--printuncompressed, and -f for --printfulluncompressed, so the above
command would become ipv6calc -qo6fU 'Itq!EN%BS(OvEV3?2kP!'. (
-qo6fUi8 would be -q --out ipv6addr --fulluncompressed
--printuppercase --in base85, and likewise -qi8o6fU would be -q --in
base85 --out ipv6addr --printfulluncompressd --printuppercase.)
I think ipv6calc is a perfect example case study in what's wrong with
long options. They are insane.
Sincerely,
Brad Allen <ULMO(a)SONIC.NET>