Skip to content

Commit

Permalink
Merge pull request #92 from whyrusleeping/feat/const-maxlen-to-var
Browse files Browse the repository at this point in the history
turn max length consts into global vars
  • Loading branch information
whyrusleeping committed Feb 1, 2024
2 parents 66e95c3 + ff2b982 commit bf2168c
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 108 deletions.
16 changes: 8 additions & 8 deletions gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ import (
cid "github.com/ipfs/go-cid"
)

const MaxLength = 8192
var MaxLength = uint64(8192)

const ByteArrayMaxLen = 2 << 20
var ByteArrayMaxLen = uint64(2 << 20)

const MaxLenTag = "maxlen"
const NoUsrMaxLen = -1
Expand Down Expand Up @@ -318,7 +318,7 @@ func emitCborMarshalStringField(w io.Writer, f Field) error {
return err
}
} else {
if len(*{{ .Name }}) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
if uint64(len(*{{ .Name }})) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
return xerrors.Errorf("Value in field {{ .Name | js }} was too long")
}
Expand All @@ -341,7 +341,7 @@ func emitCborMarshalStringField(w io.Writer, f Field) error {
}

return doTemplate(w, f, `
if len({{ .Name }}) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
if uint64(len({{ .Name }})) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
return xerrors.Errorf("Value in field {{ .Name | js }} was too long")
}
Expand Down Expand Up @@ -532,7 +532,7 @@ func emitCborMarshalSliceField(w io.Writer, f Field) error {

if e.Kind() == reflect.Uint8 {
return doTemplate(w, f, `
if len({{ .Name }}) > {{ MaxLen .MaxLen "cbg.ByteArrayMaxLen" }} {
if uint64(len({{ .Name }})) > {{ MaxLen .MaxLen "cbg.ByteArrayMaxLen" }} {
return xerrors.Errorf("Byte array in field {{ .Name }} was too long")
}
Expand Down Expand Up @@ -562,7 +562,7 @@ func emitCborMarshalSliceField(w io.Writer, f Field) error {
}

err := doTemplate(w, f, `
if len({{ .Name }}) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
if uint64(len({{ .Name }})) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
return xerrors.Errorf("Slice value in field {{ .Name }} was too long")
}
Expand Down Expand Up @@ -623,7 +623,7 @@ func emitCborMarshalArrayField(w io.Writer, f Field) error {
// Note: this re-slices the slice to deal with arrays.
if e.Kind() == reflect.Uint8 {
return doTemplate(w, f, `
if len({{ .Name }}) > {{ MaxLen .MaxLen "cbg.ByteArrayMaxLen" }} {
if uint64(len({{ .Name }})) > {{ MaxLen .MaxLen "cbg.ByteArrayMaxLen" }} {
return xerrors.Errorf("Byte array in field {{ .Name }} was too long")
}
Expand All @@ -642,7 +642,7 @@ func emitCborMarshalArrayField(w io.Writer, f Field) error {
}

err := doTemplate(w, f, `
if len({{ .Name }}) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
if uint64(len({{ .Name }})) > {{ MaxLen .MaxLen "cbg.MaxLength" }} {
return xerrors.Errorf("Slice value in field {{ .Name }} was too long")
}
Expand Down
36 changes: 18 additions & 18 deletions testing/cbor_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit bf2168c

Please sign in to comment.