diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2016-01-25 00:02:28 +0100 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2016-01-25 00:02:28 +0100 |
| commit | dff70511989f11d89d60dcdc15a22a5ae82365e8 (patch) | |
| tree | b4f10872f5182c8db7fa9629d1567e34e8373ef1 /include | |
| parent | 4b853f0d1b2e4ded50959508754878a426571b05 (diff) | |
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 |
