From 16474e57b9ed165e0d16e4517af9c57841f0f5ed Mon Sep 17 00:00:00 2001 From: jmug Date: Thu, 22 Oct 2026 16:27:11 -0700 Subject: [PATCH] feat: Utilities for file creation. --- internal/clis/hmpki/file_utils.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 internal/clis/hmpki/file_utils.go diff --git a/internal/clis/hmpki/file_utils.go b/internal/clis/hmpki/file_utils.go new file mode 100644 index 0000000..3a9641e --- /dev/null +++ b/internal/clis/hmpki/file_utils.go @@ -0,0 +1,24 @@ +package hmpki + +import ( + "os" +) + +// CreateFileWith Creates a new file (fails it if already exists) with the +// given content and permissions. +func createFileWith(name string, content []byte, perms os.FileMode) error { + f, err := os.OpenFile( + name, + // Write only, and fail if it alreay exists. + os.O_WRONLY|os.O_CREATE|os.O_EXCL, + perms, + ) + if err != nil { + return err + } + defer f.Close() + if _, err = f.Write(content); err != nil { + return err + } + return nil +}