diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-03-23 00:49:07 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-03-23 00:49:07 +0100 |
commit | 151039caf055a741c69656ae9034b4829e4d6c94 (patch) | |
tree | ff83464daf054af30218ddfb802cdfb9df287a66 /sys/src/cmd/webfs/url.c | |
parent | 1e97adc86b3ca9ef5c9834fa802e4003df1b86e2 (diff) |
webfs: bracket literal ipv6 host in "Host:" header
Diffstat (limited to 'sys/src/cmd/webfs/url.c')
-rw-r--r-- | sys/src/cmd/webfs/url.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/src/cmd/webfs/url.c b/sys/src/cmd/webfs/url.c index 1f460a8cb..870a3cdc2 100644 --- a/sys/src/cmd/webfs/url.c +++ b/sys/src/cmd/webfs/url.c @@ -83,6 +83,14 @@ Nfmt(Fmt *f) } int +Mfmt(Fmt *f) +{ + char *s = va_arg(f->args, char*); + fmtprint(f, (*s != '[' && strchr(s, ':') != nil)? "[%s]" : "%s", s); + return 0; +} + +int Ufmt(Fmt *f) { char *s; @@ -101,7 +109,7 @@ Ufmt(Fmt *f) fmtprint(f, "@"); } if(u->host){ - fmtprint(f, strchr(u->host, ':') ? "[%s]" : "%s", u->host); + fmtprint(f, "%]", u->host); if(u->port) fmtprint(f, ":%s", u->port); } |