]>
Commit | Line | Data |
---|---|---|
6fb737be JH |
1 | #ifndef QUOTE_H |
2 | #define QUOTE_H | |
3 | ||
4 | ||
5 | /* Help to copy the thing properly quoted for the shell safety. | |
6 | * any single quote is replaced with '\'', and the whole thing | |
7 | * is enclosed in a single quote pair. | |
8 | * | |
9 | * For example, if you are passing the result to system() as an | |
10 | * argument: | |
11 | * | |
12 | * sprintf(cmd, "foobar %s %s", sq_quote(arg0), sq_quote(arg1)) | |
13 | * | |
14 | * would be appropriate. If the system() is going to call ssh to | |
15 | * run the command on the other side: | |
16 | * | |
17 | * sprintf(cmd, "git-diff-tree %s %s", sq_quote(arg0), sq_quote(arg1)); | |
18 | * sprintf(rcmd, "ssh %s %s", sq_quote(host), sq_quote(cmd)); | |
19 | * | |
20 | * Note that the above examples leak memory! Remember to free result from | |
21 | * sq_quote() in a real application. | |
22 | */ | |
23 | ||
24 | char *sq_quote(const char *src); | |
25 | ||
26 | #endif |