}
b.WriteString(strconv.FormatInt(int64(k), 10))
b.WriteString(":")
- b.WriteString(fmt.Sprint(v))
+ fmt.Fprint(&b, v)
}
return b.String()
}
}
buf.WriteString("</dt>")
buf.WriteString("<dd class=\"ssa-prog\">")
- buf.WriteString(fmt.Sprintf("%.5d <span class=\"l%v line-number\">(%s)</span> %s", p.Pc, p.InnermostLineNumber(), p.InnermostLineNumberHTML(), html.EscapeString(p.InstructionString())))
+ fmt.Fprintf(&buf, "%.5d <span class=\"l%v line-number\">(%s)</span> %s", p.Pc, p.InnermostLineNumber(), p.InnermostLineNumberHTML(), html.EscapeString(p.InstructionString()))
buf.WriteString("</dd>")
}
buf.WriteString("</dl>")
// make source
var buf bytes.Buffer
for i, s := range sampleTokens {
- buf.WriteString("\t\t\t\t"[:i&3]) // leading indentation
- buf.WriteString(s.src) // token
- buf.WriteString(" "[:i&7]) // trailing spaces
- buf.WriteString(fmt.Sprintf("/*line foo:%d */ // bar\n", i)) // comments + newline (don't crash w/o directive handler)
+ buf.WriteString("\t\t\t\t"[:i&3]) // leading indentation
+ buf.WriteString(s.src) // token
+ buf.WriteString(" "[:i&7]) // trailing spaces
+ fmt.Fprintf(&buf, "/*line foo:%d */ // bar\n", i) // comments + newline (don't crash w/o directive handler)
}
// scan source
} else {
b.WriteString("tp")
// Print out the pointer value for now to disambiguate type params
- b.WriteString(fmt.Sprintf("%p", t))
+ fmt.Fprintf(b, "%p", t)
}
case TUNION:
switch x := x.(type) {
default:
- buf.WriteString(fmt.Sprintf("(ast: %T)", x)) // nil, ast.BadExpr, ast.KeyValueExpr
+ fmt.Fprintf(buf, "(ast: %T)", x) // nil, ast.BadExpr, ast.KeyValueExpr
case *ast.Ident:
buf.WriteString(x.Name)
}
b.WriteString(sprintKey(key))
b.WriteRune(':')
- b.WriteString(fmt.Sprint(om.Value[i]))
+ fmt.Fprint(b, om.Value[i])
}
return b.String()
}
pretty := func(data []testData) string {
var s strings.Builder
for _, d := range data {
- s.WriteString(fmt.Sprintf("\t%+v\n", d))
+ fmt.Fprintf(&s, "\t%+v\n", d)
}
return s.String()
}
TEXT runtime·callbackasm(SB),NOSPLIT|NOFRAME,$0
`)
for i := 0; i < maxCallback; i++ {
- buf.WriteString(fmt.Sprintf("\tMOVW\t$%d, R12\n", i))
+ fmt.Fprintf(&buf, "\tMOVW\t$%d, R12\n", i)
buf.WriteString("\tB\truntime·callbackasm1(SB)\n")
}
TEXT runtime·callbackasm(SB),NOSPLIT|NOFRAME,$0
`)
for i := 0; i < maxCallback; i++ {
- buf.WriteString(fmt.Sprintf("\tMOVD\t$%d, R12\n", i))
+ fmt.Fprintf(&buf, "\tMOVD\t$%d, R12\n", i)
buf.WriteString("\tB\truntime·callbackasm1(SB)\n")
}
func gengo() {
var buf bytes.Buffer
- buf.WriteString(fmt.Sprintf(`// Code generated by wincallback.go using 'go generate'. DO NOT EDIT.
+ fmt.Fprintf(&buf, `// Code generated by wincallback.go using 'go generate'. DO NOT EDIT.
package runtime
const cb_max = %d // maximum number of windows callbacks allowed
-`, maxCallback))
+`, maxCallback)
err := os.WriteFile("zcallback_windows.go", buf.Bytes(), 0666)
if err != nil {
fmt.Fprintf(os.Stderr, "wincallback: %s\n", err)