From: Bruno Haible Date: Wed, 9 May 2012 01:26:37 +0000 (+0200) Subject: sh-quote: Make C++ safe and allow multiple inclusion. X-Git-Tag: v0.1~686 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=e2c7c52c7cbc6299ccd66ef1b9568333266918f4;p=gnulib.git sh-quote: Make C++ safe and allow multiple inclusion. * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function declarations in extern "C". --- diff --git a/ChangeLog b/ChangeLog index 3e8ded4fdd..f6029666f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-05-08 Bruno Haible + + sh-quote: Make C++ safe and allow multiple inclusion. + * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function + declarations in extern "C". + 2012-05-08 Bruno Haible sh-quote tests: Make tests stricter. diff --git a/lib/sh-quote.h b/lib/sh-quote.h index a5515d7910..12c3dd3c2d 100644 --- a/lib/sh-quote.h +++ b/lib/sh-quote.h @@ -15,12 +15,19 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#ifndef _SH_QUOTE_H +#define _SH_QUOTE_H + /* When passing a command to a shell, we must quote the program name and arguments, since Unix shells interpret characters like " ", "'", "<", ">", "$" etc. in a special way. */ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Returns the number of bytes needed for the quoted string. */ extern size_t shell_quote_length (const char *string); @@ -34,3 +41,9 @@ extern char * shell_quote (const char *string); /* Returns a freshly allocated string containing all argument strings, quoted, separated through spaces. */ extern char * shell_quote_argv (char * const *argv); + +#ifdef __cplusplus +} +#endif + +#endif /* _SH_QUOTE_H */