URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [old/] [template/] [format.go] - Rev 747
Compare with Previous | Blame | View Log
// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// Template library: default formatterspackage templateimport ("bytes""fmt""io")// StringFormatter formats into the default string representation.// 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, format string, value ...interface{}) {if len(value) == 1 {if b, ok := value[0].([]byte); ok {w.Write(b)return}}fmt.Fprint(w, value...)}var (esc_quot = []byte(""") // shorter than """esc_apos = []byte("'") // shorter than "'"esc_amp = []byte("&")esc_lt = []byte("<")esc_gt = []byte(">"))// HTMLEscape writes to w the properly escaped HTML equivalent// of the plain text data s.func HTMLEscape(w io.Writer, s []byte) {var esc []bytelast := 0for i, c := range s {switch c {case '"':esc = esc_quotcase '\'':esc = esc_aposcase '&':esc = esc_ampcase '<':esc = esc_ltcase '>':esc = esc_gtdefault:continue}w.Write(s[last:i])w.Write(esc)last = i + 1}w.Write(s[last:])}// HTMLFormatter formats arbitrary values for HTMLfunc HTMLFormatter(w io.Writer, format string, value ...interface{}) {ok := falsevar b []byteif len(value) == 1 {b, ok = value[0].([]byte)}if !ok {var buf bytes.Bufferfmt.Fprint(&buf, value...)b = buf.Bytes()}HTMLEscape(w, b)}
