summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/internal/number/pattern.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2017-06-21 19:06:17 -0700
committerCorey Hulen <corey@hulen.com>2017-06-21 19:06:17 -0700
commit42f28ab8e374137fe3f5d25424489d879d4724f8 (patch)
tree20353f2446b506d32e6d353b72a57bf48f070389 /vendor/golang.org/x/text/internal/number/pattern.go
parent6b39c308d882a0aeac533f8ab1d90b48a2ae4b5a (diff)
downloadchat-42f28ab8e374137fe3f5d25424489d879d4724f8.tar.gz
chat-42f28ab8e374137fe3f5d25424489d879d4724f8.tar.bz2
chat-42f28ab8e374137fe3f5d25424489d879d4724f8.zip
Updating server dependancies (#6712)
Diffstat (limited to 'vendor/golang.org/x/text/internal/number/pattern.go')
-rw-r--r--vendor/golang.org/x/text/internal/number/pattern.go28
1 files changed, 26 insertions, 2 deletions
diff --git a/vendor/golang.org/x/text/internal/number/pattern.go b/vendor/golang.org/x/text/internal/number/pattern.go
index 018cf02d5..5610c6026 100644
--- a/vendor/golang.org/x/text/internal/number/pattern.go
+++ b/vendor/golang.org/x/text/internal/number/pattern.go
@@ -65,7 +65,27 @@ type Pattern struct {
MinExponentDigits uint8
}
-// A PatternFlag is a bit mask for the flag field of a Format.
+func (f *Pattern) needsSep(pos int) bool {
+ p := pos - 1
+ size := int(f.GroupingSize[0])
+ if size == 0 || p == 0 {
+ return false
+ }
+ if p == size {
+ return true
+ }
+ if p -= size; p < 0 {
+ return false
+ }
+ // TODO: make second groupingsize the same as first if 0 so that we can
+ // avoid this check.
+ if x := int(f.GroupingSize[1]); x != 0 {
+ size = x
+ }
+ return p%size == 0
+}
+
+// A PatternFlag is a bit mask for the flag field of a Pattern.
type PatternFlag uint8
const (
@@ -104,7 +124,8 @@ func (p *parser) setError(err error) {
}
func (p *parser) updateGrouping() {
- if p.hasGroup && p.groupingCount < 255 {
+ if p.hasGroup &&
+ 0 < p.groupingCount && p.groupingCount < 255 {
p.GroupingSize[1] = p.GroupingSize[0]
p.GroupingSize[0] = uint8(p.groupingCount)
}
@@ -163,6 +184,7 @@ func (p *parser) parseSubPattern(s string) string {
s = p.parsePad(s, PadAfterPrefix)
s = p.parse(p.number, s)
+ p.updateGrouping()
s = p.parsePad(s, PadBeforeSuffix)
s = p.parseAffix(s)
@@ -294,6 +316,8 @@ func (p *parser) integer(r rune) state {
next = p.exponent
case '.':
next = p.fraction
+ case ',':
+ next = p.integer
}
p.updateGrouping()
return next