diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-01-01 19:46:28 -0700 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-01-01 22:42:08 -0700 |
commit | c971b863a0a1f9feb75f31657729db3a03da114c (patch) | |
tree | 0aecc29792109070a71769dbe099f4608cc8bed7 /cmd/btrfs-rec/util.go | |
parent | a06a7fb2d5bbf1ca5659de06fc9e975666bdcf9f (diff) |
cmd/btrfs-rec: Add a type-agnostic utility function to write JSON out
Diffstat (limited to 'cmd/btrfs-rec/util.go')
-rw-r--r-- | cmd/btrfs-rec/util.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/cmd/btrfs-rec/util.go b/cmd/btrfs-rec/util.go index adfe97e..ed1b75d 100644 --- a/cmd/btrfs-rec/util.go +++ b/cmd/btrfs-rec/util.go @@ -1,4 +1,4 @@ -// Copyright (C) 2022 Luke Shumaker <lukeshu@lukeshu.com> +// Copyright (C) 2022-2023 Luke Shumaker <lukeshu@lukeshu.com> // // SPDX-License-Identifier: GPL-2.0-or-later @@ -81,3 +81,14 @@ func readJSONFile[T any](ctx context.Context, filename string) (T, error) { _ = buf.Close() return ret, nil } + +func writeJSONFile(w io.Writer, obj any, cfg lowmemjson.ReEncoder) (err error) { + buffer := bufio.NewWriter(w) + defer func() { + if _err := buffer.Flush(); err == nil && _err != nil { + err = _err + } + }() + cfg.Out = buffer + return lowmemjson.Encode(&cfg, obj) +} |