From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id EB0986DE0ED0 for ; Sat, 2 Mar 2019 12:26:19 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.01 X-Spam-Level: X-Spam-Status: No, score=-0.01 tagged_above=-999 required=5 tests=[AWL=-0.009, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4A1LrCNYu1Uj for ; Sat, 2 Mar 2019 12:26:18 -0800 (PST) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by arlo.cworth.org (Postfix) with ESMTPS id B80B16DE0EA8 for ; Sat, 2 Mar 2019 12:26:18 -0800 (PST) Received: from remotemail by fethera.tethera.net with local (Exim 4.89) (envelope-from ) id 1h0BD7-0004rE-52; Sat, 02 Mar 2019 15:26:17 -0500 Received: (nullmailer pid 22179 invoked by uid 1000); Sat, 02 Mar 2019 20:26:16 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [PATCH] util: make remaining headers includable from C++ Date: Sat, 2 Mar 2019 16:26:06 -0400 Message-Id: <20190302202606.22133-1-david@tethera.net> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Mar 2019 20:26:20 -0000 libnotmuch_util.a is supposed to be usable from the library and the CLI, but much the library is compiled as C++. Add in appropriate wrapping to prevent symbol mangling. These wrappers already existed in string-util.h; it seems better to be consistent. --- util/crypto.h | 7 +++++++ util/error_util.h | 7 +++++++ util/gmime-extra.h | 12 +++++++++--- util/hex-escape.h | 9 +++++++++ util/talloc-extra.h | 8 ++++++++ util/xutil.h | 8 ++++++++ util/zlib-extra.h | 9 +++++++++ 7 files changed, 57 insertions(+), 3 deletions(-) diff --git a/util/crypto.h b/util/crypto.h index c384601c..1a90f0e0 100644 --- a/util/crypto.h +++ b/util/crypto.h @@ -5,6 +5,10 @@ #include "gmime-extra.h" #include "notmuch.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct _notmuch_crypto { bool verify; notmuch_decryption_policy_t decrypt; @@ -34,4 +38,7 @@ _notmuch_crypto_get_gmime_ctx_for_protocol (_notmuch_crypto_t *crypto, void _notmuch_crypto_cleanup (_notmuch_crypto_t *crypto); +#ifdef __cplusplus +} +#endif #endif diff --git a/util/error_util.h b/util/error_util.h index 4bb338a2..aa3b77c4 100644 --- a/util/error_util.h +++ b/util/error_util.h @@ -25,6 +25,10 @@ #include "function-attributes.h" +#ifdef __cplusplus +extern "C" { +#endif + /* There's no point in continuing when we've detected that we've done * something wrong internally (as opposed to the user passing in a * bogus value). @@ -44,4 +48,7 @@ _internal_error (const char *format, ...) PRINTF_ATTRIBUTE (1, 2) NORETURN_ATTRI _internal_error (format " (%s).\n", \ ##__VA_ARGS__, __location__) +#ifdef __cplusplus +} +#endif #endif diff --git a/util/gmime-extra.h b/util/gmime-extra.h index ca822b8c..5d8c52f7 100644 --- a/util/gmime-extra.h +++ b/util/gmime-extra.h @@ -1,11 +1,13 @@ #ifndef _GMIME_EXTRA_H #define _GMIME_EXTRA_H #include - -GMimeStream *g_mime_stream_stdout_new(void); - #include +#ifdef __cplusplus +extern "C" { +#endif + +GMimeStream *g_mime_stream_stdout_new(void); #if (GMIME_MAJOR_VERSION < 3) @@ -100,4 +102,8 @@ gint64 g_mime_utils_header_decode_date_unix (const char *date); */ const char * g_mime_certificate_get_valid_userid (GMimeCertificate *cert); +#ifdef __cplusplus +} +#endif + #endif diff --git a/util/hex-escape.h b/util/hex-escape.h index 5182042e..50d946ed 100644 --- a/util/hex-escape.h +++ b/util/hex-escape.h @@ -1,6 +1,10 @@ #ifndef _HEX_ESCAPE_H #define _HEX_ESCAPE_H +#ifdef __cplusplus +extern "C" { +#endif + typedef enum hex_status { HEX_SUCCESS = 0, HEX_SYNTAX_ERROR, @@ -38,4 +42,9 @@ hex_decode (void *talloc_ctx, const char *in, char **out, */ hex_status_t hex_decode_inplace (char *s); + +#ifdef __cplusplus +} +#endif + #endif diff --git a/util/talloc-extra.h b/util/talloc-extra.h index eac5dc05..e2e61734 100644 --- a/util/talloc-extra.h +++ b/util/talloc-extra.h @@ -3,6 +3,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* Like talloc_strndup, but take an extra parameter for the internal talloc * name (for debugging) */ @@ -15,4 +19,8 @@ talloc_strndup_named_const (void *ctx, const char *str, #define talloc_strndup_debug(ctx, str, len) talloc_strndup_named_const (ctx, str, len, __location__) +#ifdef __cplusplus +} +#endif + #endif diff --git a/util/xutil.h b/util/xutil.h index 4829f33c..e2707000 100644 --- a/util/xutil.h +++ b/util/xutil.h @@ -25,6 +25,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /* xutil.c */ void * xcalloc (size_t nmemb, size_t size); @@ -49,4 +53,8 @@ int xregexec (const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); +#ifdef __cplusplus +} +#endif + #endif diff --git a/util/zlib-extra.h b/util/zlib-extra.h index aedfd48f..209fa998 100644 --- a/util/zlib-extra.h +++ b/util/zlib-extra.h @@ -4,6 +4,10 @@ #include "util.h" #include +#ifdef __cplusplus +extern "C" { +#endif + /* Like getline, but read from a gzFile. Allocation is with talloc. * Returns: * @@ -22,4 +26,9 @@ gz_getline (void *ctx, char **lineptr, ssize_t *bytes_read, gzFile stream); const char * gz_error_string (util_status_t status, gzFile stream); + +#ifdef __cplusplus +} +#endif + #endif -- 2.20.1