kms++-util: portability fix
authorYann E. MORIN <yann.morin.1998@free.fr>
Wed, 10 Aug 2016 16:16:39 +0000 (18:16 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Wed, 10 Aug 2016 16:16:39 +0000 (18:16 +0200)
__STRING(x) is a glibcism (i.e. it is non-standard), that happens to be
also available with uClibc, but is not with musl.

Define it if not already defined, using the same trivial definition as
is done by both glibg and uClibc.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
kms++util/inc/kms++util/kms++util.h

index 10a1f0af5a13badb0e27db55abe946d23dcc17a3..5a688f6052abb82ef5fc9c6cb49fa5be1f3a56c1 100644 (file)
@@ -35,6 +35,13 @@ Connector* resolve_connector(Card& card, const std::string& str);
 
 #define unlikely(x) __builtin_expect(!!(x), 0)
 
 
 #define unlikely(x) __builtin_expect(!!(x), 0)
 
+/* __STRING(x) is a glibcism (i.e. not standard), which happens to also
+ * be available in uClibc. However, musl does not define it. Do it here.
+ */
+#ifndef __STRING
+#define __STRING(x) #x
+#endif
+
 #define ASSERT(x) \
        if (unlikely(!(x))) { \
                fprintf(stderr, "%s:%d: %s: ASSERT(%s) failed\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, __STRING(x)); \
 #define ASSERT(x) \
        if (unlikely(!(x))) { \
                fprintf(stderr, "%s:%d: %s: ASSERT(%s) failed\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, __STRING(x)); \