diff options
author | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-01-25 00:02:28 +0100 |
---|---|---|
committer | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-01-25 00:14:13 +0100 |
commit | 32ae26e519eeb6a5108f1d82fe36ce5b6ef65af3 (patch) | |
tree | b4f10872f5182c8db7fa9629d1567e34e8373ef1 /include | |
parent | ed227f5664196d85194d63d01a5382499867a386 (diff) | |
download | sway-32ae26e519eeb6a5108f1d82fe36ce5b6ef65af3.tar.xz |
Add quotes to multiword arguments.
This adds quotes around multiword arguments before they are passed to
`/bin/sh -c` in an exec command.
Example:
I connect to irc like this:
exec termite -e "mosh server tmux a"
Without this patch the arguments are passed to sh as:
termite -e mosh server tmux a
When it should be:
termite -e "mosh server tmux a"
For the command to work.
Diffstat (limited to 'include')
-rw-r--r-- | include/stringop.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/stringop.h b/include/stringop.h index bb681bcd..7c29a745 100644 --- a/include/stringop.h +++ b/include/stringop.h @@ -31,6 +31,11 @@ int unescape_string(char *string); char *join_args(char **argv, int argc); char *join_list(list_t *list, char *separator); +/** + * Add quotes around any argv with whitespaces. + */ +void add_quotes(char **argv, int argc); + // split string into 2 by delim. char *cmdsep(char **stringp, const char *delim); // Split string into 2 by delim, handle quotes |