sh-quote: Make C++ safe and allow multiple inclusion.
authorBruno Haible <bruno@clisp.org>
Wed, 9 May 2012 01:26:37 +0000 (03:26 +0200)
committerBruno Haible <bruno@clisp.org>
Wed, 9 May 2012 01:26:37 +0000 (03:26 +0200)
* lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
declarations in extern "C".

ChangeLog
lib/sh-quote.h

index 3e8ded4..f602966 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2012-05-08  Bruno Haible  <bruno@clisp.org>
 
+       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  <bruno@clisp.org>
+
        sh-quote tests: Make tests stricter.
        * tests/test-sh-quote.c (check_one): Check the return value of
        shell_quote_copy.
index a5515d7..12c3dd3 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#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 <stddef.h>
 
+#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 */