aboutsummaryrefslogtreecommitdiffhomepage
path: root/helper/args.go
diff options
context:
space:
mode:
Diffstat (limited to 'helper/args.go')
-rw-r--r--helper/args.go59
1 files changed, 0 insertions, 59 deletions
diff --git a/helper/args.go b/helper/args.go
deleted file mode 100644
index 80cd3024..00000000
--- a/helper/args.go
+++ /dev/null
@@ -1,59 +0,0 @@
-package helper
-
-import (
- "bytes"
- "io"
- "syscall"
-)
-
-type argsWt [][]byte
-
-func (a argsWt) WriteTo(w io.Writer) (int64, error) {
- nt := 0
- for _, arg := range a {
- n, err := w.Write(arg)
- nt += n
-
- if err != nil {
- return int64(nt), err
- }
- }
-
- return int64(nt), nil
-}
-
-func (a argsWt) String() string {
- return string(
- bytes.TrimSuffix(
- bytes.ReplaceAll(
- bytes.Join(a, nil),
- []byte{0}, []byte{' '},
- ),
- []byte{' '},
- ),
- )
-}
-
-// NewCheckedArgs returns a checked null-terminated argument writer for a copy of args.
-func NewCheckedArgs(args ...string) (wt io.WriterTo, err error) {
- a := make(argsWt, len(args))
- for i, arg := range args {
- a[i], err = syscall.ByteSliceFromString(arg)
- if err != nil {
- return
- }
- }
- wt = a
- return
-}
-
-// MustNewCheckedArgs returns a checked null-terminated argument writer for a copy of args.
-// If s contains a NUL byte this function panics instead of returning an error.
-func MustNewCheckedArgs(args ...string) io.WriterTo {
- a, err := NewCheckedArgs(args...)
- if err != nil {
- panic(err.Error())
- }
-
- return a
-}