mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 01:44:10 -05:00
e86a0bf3fe
* Add support for extra sendmail arguments * Sendmail args to exec.command should be a list * Add go-shellquote package * Use go-shellquote lib for parsing Sendmail args * Only parse if sendmail is configured |
||
---|---|---|
.. | ||
doc.go | ||
LICENSE | ||
quote.go | ||
README | ||
unquote.go |
PACKAGE package shellquote import "github.com/kballard/go-shellquote" Shellquote provides utilities for joining/splitting strings using sh's word-splitting rules. VARIABLES var ( UnterminatedSingleQuoteError = errors.New("Unterminated single-quoted string") UnterminatedDoubleQuoteError = errors.New("Unterminated double-quoted string") UnterminatedEscapeError = errors.New("Unterminated backslash-escape") ) FUNCTIONS func Join(args ...string) string Join quotes each argument and joins them with a space. If passed to /bin/sh, the resulting string will be split back into the original arguments. func Split(input string) (words []string, err error) Split splits a string according to /bin/sh's word-splitting rules. It supports backslash-escapes, single-quotes, and double-quotes. Notably it does not support the $'' style of quoting. It also doesn't attempt to perform any other sort of expansion, including brace expansion, shell expansion, or pathname expansion. If the given input has an unterminated quoted string or ends in a backslash-escape, one of UnterminatedSingleQuoteError, UnterminatedDoubleQuoteError, or UnterminatedEscapeError is returned.