From c971b863a0a1f9feb75f31657729db3a03da114c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 1 Jan 2023 19:46:28 -0700 Subject: cmd/btrfs-rec: Add a type-agnostic utility function to write JSON out --- cmd/btrfs-rec/util.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'cmd/btrfs-rec/util.go') 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 +// Copyright (C) 2022-2023 Luke Shumaker // // 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) +} -- cgit v1.2.3-2-g168b