GNU Linux-libre 4.9.337-gnu1
[releases.git] / tools / perf / util / quote.h
1 #ifndef __PERF_QUOTE_H
2 #define __PERF_QUOTE_H
3
4 #include <stddef.h>
5
6 /* Help to copy the thing properly quoted for the shell safety.
7  * any single quote is replaced with '\'', any exclamation point
8  * is replaced with '\!', and the whole thing is enclosed in a
9  * single quote pair.
10  *
11  * For example, if you are passing the result to system() as an
12  * argument:
13  *
14  * sprintf(cmd, "foobar %s %s", sq_quote(arg0), sq_quote(arg1))
15  *
16  * would be appropriate.  If the system() is going to call ssh to
17  * run the command on the other side:
18  *
19  * sprintf(cmd, "git-diff-tree %s %s", sq_quote(arg0), sq_quote(arg1));
20  * sprintf(rcmd, "ssh %s %s", sq_util/quote.host), sq_quote(cmd));
21  *
22  * Note that the above examples leak memory!  Remember to free result from
23  * sq_quote() in a real application.
24  */
25
26 struct strbuf;
27
28 int sq_quote_argv(struct strbuf *, const char **argv, size_t maxlen);
29
30 #endif /* __PERF_QUOTE_H */