- * Write a shell-quoted version of a string into a buffer, and
- * return bytes that ought to be output excluding final null.
- */
-static int shell_quote(char *buf, int nmax, const char *str)
-{
- char ch;
- int nq;
- int oc = 0;
-
- while ( (ch = *str++) ) {
- nq = 0;
- if ( strchr(" !\"#$%&\'()*;<=>?[\\]^`{|}", ch) )
- nq = 1;
-
- if ( nq ) {
- if ( nmax > 1 ) {
- *buf++ = '\\';
- nmax--;
- }
- oc++;
- }
-
- if ( nmax > 1 ) {
- *buf++ = ch;
- nmax--;
- }
- oc++;
- }
-
- if ( nmax )
- *buf = '\0';
-
- return oc;
-}
-
-/*
- * Append a string to a string buffer, with or without quoting. Return true
- * if the buffer overflowed.
+ * Append a string to a string buffer, with or without shell quoting.
+ * Return true if the buffer overflowed.