Change how client option -s interprets ':'

Old version recognizes the first ':', which prevents use of ':' in
host names.  They are used in numerical IPv6 addresses.  New version
recognizes the last ':', which prevents use of ':' in service names.

Old version treats empty host or port specially (use default).
Documentation suggests ':' is required, but the code doesn't do that.
Instead, the argument is interpreted as host, even when it's empty.

New version makes the HOST: part optional.  You can't specify host and
default the port.  Tough.  Keeps documentation and code as simple as
possible.

Compare:

                old version             new version
    argument    host    port            host    port
    ""          ""      default         default ""
    "A"         "A"     default         default "A"
    ":"         default default         ""      ""
    "A:"        "A"     default         "A"     ""
    ":B"        default "B"             ""      "B"
    "A:B"       "A"     "B"             "A"     "B"
This commit is contained in:
Markus Armbruster 2010-04-02 11:51:15 +02:00
parent f4fe7da1fb
commit 464094a693
2 changed files with 10 additions and 17 deletions

View file

@ -37,11 +37,8 @@ Help. Print brief usage information and exit.
.B \-k
If someone else is connected to your country, kill their connection.
.TP
.BI \-s " host:port"
Specify host and port to which to connect.
.IP
Connect to \fIhost\fR using port \fIport\fR. You can specify only
one; just leave the other empty (include the colon).
.BI \-s " [host:]port"
Specify server \fIhost\fR and \fIport\fR.
.TP
.B \-u
Use UTF-8 rather than ASCII character set.