changeset 16840:e99c8c949ff7

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".
author Bruno Haible <bruno@clisp.org>
date Wed, 09 May 2012 03:26:37 +0200
parents 85883252217c
children afc7e3b9f04a
files ChangeLog lib/sh-quote.h
diffstat 2 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
--- 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 <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 @@
 /* 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 */