summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/vmihailenco/msgpack/v5/decode_number.go
diff options
context:
space:
mode:
authordependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2022-01-18 20:24:14 +0100
committerGitHub <noreply@github.com>2022-01-18 20:24:14 +0100
commitaad60c882e16cd2c8769a49e6d9f87a040590d62 (patch)
tree3bfe1f8953b40f9beb39c69db3a7647ea6de54d2 /vendor/github.com/vmihailenco/msgpack/v5/decode_number.go
parentfecca575078a21dedb0cab213dde7fd97161c0fa (diff)
downloadmatterbridge-msglm-aad60c882e16cd2c8769a49e6d9f87a040590d62.tar.gz
matterbridge-msglm-aad60c882e16cd2c8769a49e6d9f87a040590d62.tar.bz2
matterbridge-msglm-aad60c882e16cd2c8769a49e6d9f87a040590d62.zip
Bump github.com/mattermost/mattermost-server/v6 from 6.1.0 to 6.3.0 (#1686)
Bumps [github.com/mattermost/mattermost-server/v6](https://github.com/mattermost/mattermost-server) from 6.1.0 to 6.3.0. - [Release notes](https://github.com/mattermost/mattermost-server/releases) - [Changelog](https://github.com/mattermost/mattermost-server/blob/master/CHANGELOG.md) - [Commits](https://github.com/mattermost/mattermost-server/compare/v6.1.0...v6.3.0) --- updated-dependencies: - dependency-name: github.com/mattermost/mattermost-server/v6 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/vmihailenco/msgpack/v5/decode_number.go')
-rw-r--r--vendor/github.com/vmihailenco/msgpack/v5/decode_number.go295
1 files changed, 295 insertions, 0 deletions
diff --git a/vendor/github.com/vmihailenco/msgpack/v5/decode_number.go b/vendor/github.com/vmihailenco/msgpack/v5/decode_number.go
new file mode 100644
index 00000000..45d6a741
--- /dev/null
+++ b/vendor/github.com/vmihailenco/msgpack/v5/decode_number.go
@@ -0,0 +1,295 @@
+package msgpack
+
+import (
+ "fmt"
+ "math"
+ "reflect"
+
+ "github.com/vmihailenco/msgpack/v5/msgpcode"
+)
+
+func (d *Decoder) skipN(n int) error {
+ _, err := d.readN(n)
+ return err
+}
+
+func (d *Decoder) uint8() (uint8, error) {
+ c, err := d.readCode()
+ if err != nil {
+ return 0, err
+ }
+ return c, nil
+}
+
+func (d *Decoder) int8() (int8, error) {
+ n, err := d.uint8()
+ return int8(n), err
+}
+
+func (d *Decoder) uint16() (uint16, error) {
+ b, err := d.readN(2)
+ if err != nil {
+ return 0, err
+ }
+ return (uint16(b[0]) << 8) | uint16(b[1]), nil
+}
+
+func (d *Decoder) int16() (int16, error) {
+ n, err := d.uint16()
+ return int16(n), err
+}
+
+func (d *Decoder) uint32() (uint32, error) {
+ b, err := d.readN(4)
+ if err != nil {
+ return 0, err
+ }
+ n := (uint32(b[0]) << 24) |
+ (uint32(b[1]) << 16) |
+ (uint32(b[2]) << 8) |
+ uint32(b[3])
+ return n, nil
+}
+
+func (d *Decoder) int32() (int32, error) {
+ n, err := d.uint32()
+ return int32(n), err
+}
+
+func (d *Decoder) uint64() (uint64, error) {
+ b, err := d.readN(8)
+ if err != nil {
+ return 0, err
+ }
+ n := (uint64(b[0]) << 56) |
+ (uint64(b[1]) << 48) |
+ (uint64(b[2]) << 40) |
+ (uint64(b[3]) << 32) |
+ (uint64(b[4]) << 24) |
+ (uint64(b[5]) << 16) |
+ (uint64(b[6]) << 8) |
+ uint64(b[7])
+ return n, nil
+}
+
+func (d *Decoder) int64() (int64, error) {
+ n, err := d.uint64()
+ return int64(n), err
+}
+
+// DecodeUint64 decodes msgpack int8/16/32/64 and uint8/16/32/64
+// into Go uint64.
+func (d *Decoder) DecodeUint64() (uint64, error) {
+ c, err := d.readCode()
+ if err != nil {
+ return 0, err
+ }
+ return d.uint(c)
+}
+
+func (d *Decoder) uint(c byte) (uint64, error) {
+ if c == msgpcode.Nil {
+ return 0, nil
+ }
+ if msgpcode.IsFixedNum(c) {
+ return uint64(int8(c)), nil
+ }
+ switch c {
+ case msgpcode.Uint8:
+ n, err := d.uint8()
+ return uint64(n), err
+ case msgpcode.Int8:
+ n, err := d.int8()
+ return uint64(n), err
+ case msgpcode.Uint16:
+ n, err := d.uint16()
+ return uint64(n), err
+ case msgpcode.Int16:
+ n, err := d.int16()
+ return uint64(n), err
+ case msgpcode.Uint32:
+ n, err := d.uint32()
+ return uint64(n), err
+ case msgpcode.Int32:
+ n, err := d.int32()
+ return uint64(n), err
+ case msgpcode.Uint64, msgpcode.Int64:
+ return d.uint64()
+ }
+ return 0, fmt.Errorf("msgpack: invalid code=%x decoding uint64", c)
+}
+
+// DecodeInt64 decodes msgpack int8/16/32/64 and uint8/16/32/64
+// into Go int64.
+func (d *Decoder) DecodeInt64() (int64, error) {
+ c, err := d.readCode()
+ if err != nil {
+ return 0, err
+ }
+ return d.int(c)
+}
+
+func (d *Decoder) int(c byte) (int64, error) {
+ if c == msgpcode.Nil {
+ return 0, nil
+ }
+ if msgpcode.IsFixedNum(c) {
+ return int64(int8(c)), nil
+ }
+ switch c {
+ case msgpcode.Uint8:
+ n, err := d.uint8()
+ return int64(n), err
+ case msgpcode.Int8:
+ n, err := d.uint8()
+ return int64(int8(n)), err
+ case msgpcode.Uint16:
+ n, err := d.uint16()
+ return int64(n), err
+ case msgpcode.Int16:
+ n, err := d.uint16()
+ return int64(int16(n)), err
+ case msgpcode.Uint32:
+ n, err := d.uint32()
+ return int64(n), err
+ case msgpcode.Int32:
+ n, err := d.uint32()
+ return int64(int32(n)), err
+ case msgpcode.Uint64, msgpcode.Int64:
+ n, err := d.uint64()
+ return int64(n), err
+ }
+ return 0, fmt.Errorf("msgpack: invalid code=%x decoding int64", c)
+}
+
+func (d *Decoder) DecodeFloat32() (float32, error) {
+ c, err := d.readCode()
+ if err != nil {
+ return 0, err
+ }
+ return d.float32(c)
+}
+
+func (d *Decoder) float32(c byte) (float32, error) {
+ if c == msgpcode.Float {
+ n, err := d.uint32()
+ if err != nil {
+ return 0, err
+ }
+ return math.Float32frombits(n), nil
+ }
+
+ n, err := d.int(c)
+ if err != nil {
+ return 0, fmt.Errorf("msgpack: invalid code=%x decoding float32", c)
+ }
+ return float32(n), nil
+}
+
+// DecodeFloat64 decodes msgpack float32/64 into Go float64.
+func (d *Decoder) DecodeFloat64() (float64, error) {
+ c, err := d.readCode()
+ if err != nil {
+ return 0, err
+ }
+ return d.float64(c)
+}
+
+func (d *Decoder) float64(c byte) (float64, error) {
+ switch c {
+ case msgpcode.Float:
+ n, err := d.float32(c)
+ if err != nil {
+ return 0, err
+ }
+ return float64(n), nil
+ case msgpcode.Double:
+ n, err := d.uint64()
+ if err != nil {
+ return 0, err
+ }
+ return math.Float64frombits(n), nil
+ }
+
+ n, err := d.int(c)
+ if err != nil {
+ return 0, fmt.Errorf("msgpack: invalid code=%x decoding float32", c)
+ }
+ return float64(n), nil
+}
+
+func (d *Decoder) DecodeUint() (uint, error) {
+ n, err := d.DecodeUint64()
+ return uint(n), err
+}
+
+func (d *Decoder) DecodeUint8() (uint8, error) {
+ n, err := d.DecodeUint64()
+ return uint8(n), err
+}
+
+func (d *Decoder) DecodeUint16() (uint16, error) {
+ n, err := d.DecodeUint64()
+ return uint16(n), err
+}
+
+func (d *Decoder) DecodeUint32() (uint32, error) {
+ n, err := d.DecodeUint64()
+ return uint32(n), err
+}
+
+func (d *Decoder) DecodeInt() (int, error) {
+ n, err := d.DecodeInt64()
+ return int(n), err
+}
+
+func (d *Decoder) DecodeInt8() (int8, error) {
+ n, err := d.DecodeInt64()
+ return int8(n), err
+}
+
+func (d *Decoder) DecodeInt16() (int16, error) {
+ n, err := d.DecodeInt64()
+ return int16(n), err
+}
+
+func (d *Decoder) DecodeInt32() (int32, error) {
+ n, err := d.DecodeInt64()
+ return int32(n), err
+}
+
+func decodeFloat32Value(d *Decoder, v reflect.Value) error {
+ f, err := d.DecodeFloat32()
+ if err != nil {
+ return err
+ }
+ v.SetFloat(float64(f))
+ return nil
+}
+
+func decodeFloat64Value(d *Decoder, v reflect.Value) error {
+ f, err := d.DecodeFloat64()
+ if err != nil {
+ return err
+ }
+ v.SetFloat(f)
+ return nil
+}
+
+func decodeInt64Value(d *Decoder, v reflect.Value) error {
+ n, err := d.DecodeInt64()
+ if err != nil {
+ return err
+ }
+ v.SetInt(n)
+ return nil
+}
+
+func decodeUint64Value(d *Decoder, v reflect.Value) error {
+ n, err := d.DecodeUint64()
+ if err != nil {
+ return err
+ }
+ v.SetUint(n)
+ return nil
+}