mirror of https://github.com/golang/go.git
fmt: fix crash for Printf("%.", 3)
Fixes #5311 R=golang-dev, bradfitz, iant CC=golang-dev https://golang.org/cl/8961050
This commit is contained in:
parent
5b78cee376
commit
b42c8294eb
|
|
@ -497,6 +497,9 @@ var fmttests = []struct {
|
|||
// causing +2+0i and +3+0i instead of 2+0i and 3+0i.
|
||||
{"%v", []complex64{1, 2, 3}, "[(1+0i) (2+0i) (3+0i)]"},
|
||||
{"%v", []complex128{1, 2, 3}, "[(1+0i) (2+0i) (3+0i)]"},
|
||||
|
||||
// Incomplete format specification caused crash.
|
||||
{"%.", 3, "%!.(int=3)"},
|
||||
}
|
||||
|
||||
func TestSprintf(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -1072,7 +1072,7 @@ func (p *pp) doPrintf(format string, a []interface{}) {
|
|||
p.fmt.wid, p.fmt.widPresent, i = parsenum(format, i, end)
|
||||
}
|
||||
// do we have precision?
|
||||
if i < end && format[i] == '.' {
|
||||
if i+1 < end && format[i] == '.' {
|
||||
if format[i+1] == '*' {
|
||||
p.fmt.prec, p.fmt.precPresent, i, fieldnum = intFromArg(a, end, i+1, fieldnum)
|
||||
if !p.fmt.precPresent {
|
||||
|
|
|
|||
Loading…
Reference in New Issue