diff --git a/clip/copy_MAC.go b/clip/copy_MAC.go index df39ec2..a7cb0fd 100644 --- a/clip/copy_MAC.go +++ b/clip/copy_MAC.go @@ -9,10 +9,10 @@ import ( "github.com/rwinkhart/go-boilerplate/back" ) -// CopyString copies a string to the clipboard. -func CopyString(clearClipboardAutomatically bool, copySubject string) error { +// CopyBytes copies a byte slice to the clipboard. +func CopyBytes(clearClipboardAutomatically bool, copySubject []byte) error { cmd := exec.Command("pbcopy") - _ = back.WriteToStdin(cmd, copySubject) + _ = back.WriteToStdinAndZeroizeInput(cmd, copySubject) if err := cmd.Run(); err != nil { return errors.New("unable to copy to clipboard: " + err.Error()) } @@ -25,6 +25,6 @@ func CopyString(clearClipboardAutomatically bool, copySubject string) error { // getClipCommands returns the commands for pasting and clearing the clipboard contents. func getClipCommands() (*exec.Cmd, *exec.Cmd, error) { cmdClear := exec.Command("pbcopy") - _ = back.WriteToStdin(cmdClear, "") + _ = back.WriteToStdinAndZeroizeInput(cmdClear, nil) return exec.Command("pbpaste"), cmdClear, nil } diff --git a/clip/copy_TERMUX.go b/clip/copy_TERMUX.go index 299203d..2023cf9 100644 --- a/clip/copy_TERMUX.go +++ b/clip/copy_TERMUX.go @@ -9,10 +9,10 @@ import ( "github.com/rwinkhart/go-boilerplate/back" ) -// CopyString copies a string to the clipboard. -func CopyString(clearClipboardAutomatically bool, copySubject string) error { +// CopyBytes copies a byte slice to the clipboard. +func CopyBytes(clearClipboardAutomatically bool, copySubject []byte) error { cmd := exec.Command("termux-clipboard-set") - _ = back.WriteToStdin(cmd, copySubject) + _ = back.WriteToStdinAndZeroizeInput(cmd, copySubject) if err := cmd.Run(); err != nil { return errors.New("unable to copy to clipboard: " + err.Error()) } @@ -25,6 +25,6 @@ func CopyString(clearClipboardAutomatically bool, copySubject string) error { // getClipCommands returns the commands for pasting and clearing the clipboard contents. func getClipCommands() (*exec.Cmd, *exec.Cmd, error) { cmdClear := exec.Command("termux-clipboard-set") - _ = back.WriteToStdin(cmdClear, "") + _ = back.WriteToStdinAndZeroizeInput(cmdClear, nil) return exec.Command("termux-clipboard-get"), cmdClear, nil } diff --git a/clip/copy_WIN.go b/clip/copy_WIN.go index 2e67658..2f43b51 100644 --- a/clip/copy_WIN.go +++ b/clip/copy_WIN.go @@ -9,10 +9,10 @@ import ( "github.com/rwinkhart/go-boilerplate/back" ) -// CopyString copies a string to the clipboard. -func CopyString(clearClipboardAutomatically bool, copySubject string) error { +// CopyBytes copies a byte slice to the clipboard. +func CopyBytes(clearClipboardAutomatically bool, copySubject []byte) error { cmd := exec.Command("clip.exe") - _ = back.WriteToStdin(cmd, copySubject) + _ = back.WriteToStdinAndZeroizeInput(cmd, copySubject) if err := cmd.Run(); err != nil { return errors.New("unable to copy to clipboard: " + err.Error()) } @@ -25,6 +25,6 @@ func CopyString(clearClipboardAutomatically bool, copySubject string) error { // getClipCommands returns the commands for pasting and clearing the clipboard contents. func getClipCommands() (*exec.Cmd, *exec.Cmd, error) { clearCMD := exec.Command("clip.exe") - _ = back.WriteToStdin(clearCMD, "") + _ = back.WriteToStdinAndZeroizeInput(clearCMD, nil) return exec.Command("powershell.exe", "-c", "Get-Clipboard"), clearCMD, nil } diff --git a/clip/launchClipClearProcessGUI_GENERIC.go b/clip/launchClipClearProcessGUI_GENERIC.go index 85564f5..98c2c71 100644 --- a/clip/launchClipClearProcessGUI_GENERIC.go +++ b/clip/launchClipClearProcessGUI_GENERIC.go @@ -5,6 +5,6 @@ package clip // LaunchClearProcess launches the timed clipboard clearing process. // For interactive GUI/TUI implementations, the clipboard clearing process is launched as a goroutine. // copySubject can be omitted to clear the clipboard immediately and unconditionally. -func LaunchClearProcess(copySubject string) { +func LaunchClearProcess(copySubject []byte) { go ClearProcess(copySubject) }