goprotobuf: Accept (and ignore) "f" suffix for text format floating point literals.
R=r
CC=golang-dev
http://codereview.appspot.com/6347047
diff --git a/proto/text_parser.go b/proto/text_parser.go
index 8bacae5..d4d5864 100644
--- a/proto/text_parser.go
+++ b/proto/text_parser.go
@@ -480,7 +480,12 @@
return nil
}
case reflect.Float32, reflect.Float64:
- if f, err := strconv.ParseFloat(tok.value, fv.Type().Bits()); err == nil {
+ v := tok.value
+ if strings.HasSuffix(v, "f") {
+ // Ignore 'f' for compatibility with output generated by C++.
+ v = v[:len(v)-1]
+ }
+ if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {
fv.SetFloat(f)
return nil
}