diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-01-17 12:40:45 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-01-17 12:40:45 +0100 |
commit | 3e45412327a2654a77944249962b3652e6142299 (patch) | |
tree | bc3bf69452afa055423cbe0c5cfa8ca357df6ccf /src/pkg/template/format.go | |
parent | c533680039762cacbc37db8dc7eed074c3e497be (diff) | |
download | golang-upstream/2011.01.12.tar.gz |
Imported Upstream version 2011.01.12upstream/2011.01.12
Diffstat (limited to 'src/pkg/template/format.go')
-rw-r--r-- | src/pkg/template/format.go | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/pkg/template/format.go b/src/pkg/template/format.go index 8a31de970..9156b0808 100644 --- a/src/pkg/template/format.go +++ b/src/pkg/template/format.go @@ -16,12 +16,14 @@ import ( // It is stored under the name "str" and is the default formatter. // You can override the default formatter by storing your default // under the name "" in your custom formatter map. -func StringFormatter(w io.Writer, value interface{}, format string) { - if b, ok := value.([]byte); ok { - w.Write(b) - return +func StringFormatter(w io.Writer, format string, value ...interface{}) { + if len(value) == 1 { + if b, ok := value[0].([]byte); ok { + w.Write(b) + return + } } - fmt.Fprint(w, value) + fmt.Fprint(w, value...) } var ( @@ -60,11 +62,15 @@ func HTMLEscape(w io.Writer, s []byte) { } // HTMLFormatter formats arbitrary values for HTML -func HTMLFormatter(w io.Writer, value interface{}, format string) { - b, ok := value.([]byte) +func HTMLFormatter(w io.Writer, format string, value ...interface{}) { + ok := false + var b []byte + if len(value) == 1 { + b, ok = value[0].([]byte) + } if !ok { var buf bytes.Buffer - fmt.Fprint(&buf, value) + fmt.Fprint(&buf, value...) b = buf.Bytes() } HTMLEscape(w, b) |