diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-04-10 20:39:06 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-04-10 20:47:30 +0900 |
| commit | 560cb626a1a8f7d4bfca5d30f262cc90fb5d4608 (patch) | |
| tree | 0be44e6cf70bae8b608b6a12efc06d66d1f2e5d9 /internal/store/header.go | |
| parent | c33a6a5b7ee130370aeeebf6635977415115f7da (diff) | |
hst: remove enablement json adapter
The go116 behaviour of built-in new function makes this cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/store/header.go')
| -rw-r--r-- | internal/store/header.go | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/internal/store/header.go b/internal/store/header.go index a6e756f9..5b5d73be 100644 --- a/internal/store/header.go +++ b/internal/store/header.go @@ -14,22 +14,25 @@ import ( const ( // entryHeaderMagic are magic bytes at the beginning of the state entry file. entryHeaderMagic = "\x00\xff\xca\xfe" - // entryHeaderRevision follows entryHeaderMagic and is incremented for revisions of the format. + // entryHeaderRevision follows entryHeaderMagic and is incremented for + // revisions of the format. entryHeaderRevision = "\x00\x00" - // entryHeaderSize is the fixed size of the header in bytes, including the enablement byte and its complement. + // entryHeaderSize is the fixed size of the header in bytes, including the + // enablement byte and its complement. entryHeaderSize = len(entryHeaderMagic+entryHeaderRevision) + 2 ) -// entryHeaderEncode encodes a state entry header for a [hst.Enablement] byte. -func entryHeaderEncode(et hst.Enablement) *[entryHeaderSize]byte { +// entryHeaderEncode encodes a state entry header for a [hst.Enablements] byte. +func entryHeaderEncode(et hst.Enablements) *[entryHeaderSize]byte { data := [entryHeaderSize]byte([]byte( - entryHeaderMagic + entryHeaderRevision + string([]hst.Enablement{et, ^et}), + entryHeaderMagic + entryHeaderRevision + string([]hst.Enablements{et, ^et}), )) return &data } -// entryHeaderDecode validates a state entry header and returns the [hst.Enablement] byte. -func entryHeaderDecode(data *[entryHeaderSize]byte) (hst.Enablement, error) { +// entryHeaderDecode validates a state entry header and returns the +// [hst.Enablements] byte. +func entryHeaderDecode(data *[entryHeaderSize]byte) (hst.Enablements, error) { if magic := data[:len(entryHeaderMagic)]; string(magic) != entryHeaderMagic { return 0, errors.New("invalid header " + hex.EncodeToString(magic)) } @@ -41,7 +44,7 @@ func entryHeaderDecode(data *[entryHeaderSize]byte) (hst.Enablement, error) { if et != ^data[len(entryHeaderMagic+entryHeaderRevision)+1] { return 0, errors.New("header enablement value is inconsistent") } - return hst.Enablement(et), nil + return hst.Enablements(et), nil } // EntrySizeError is returned for a file too small to hold a state entry header. @@ -68,8 +71,8 @@ func entryCheckFile(fi os.FileInfo) error { return nil } -// entryReadHeader reads [hst.Enablement] from an [io.Reader]. -func entryReadHeader(r io.Reader) (hst.Enablement, error) { +// entryReadHeader reads [hst.Enablements] from an [io.Reader]. +func entryReadHeader(r io.Reader) (hst.Enablements, error) { var data [entryHeaderSize]byte if n, err := r.Read(data[:]); err != nil { return 0, err @@ -79,8 +82,8 @@ func entryReadHeader(r io.Reader) (hst.Enablement, error) { return entryHeaderDecode(&data) } -// entryWriteHeader writes [hst.Enablement] header to an [io.Writer]. -func entryWriteHeader(w io.Writer, et hst.Enablement) error { +// entryWriteHeader writes [hst.Enablements] header to an [io.Writer]. +func entryWriteHeader(w io.Writer, et hst.Enablements) error { _, err := w.Write(entryHeaderEncode(et)[:]) return err } |
