aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libmdsserver/linked-list.h6
-rw-r--r--src/libmdsserver/util.h14
-rw-r--r--src/mds-registry/slave.h1
-rw-r--r--src/mds-server/client.h1
4 files changed, 17 insertions, 5 deletions
diff --git a/src/libmdsserver/linked-list.h b/src/libmdsserver/linked-list.h
index a99204c..b7bcefb 100644
--- a/src/libmdsserver/linked-list.h
+++ b/src/libmdsserver/linked-list.h
@@ -46,11 +46,7 @@
/**
* Sentinel value indicating that the position is unused
*/
-#if __WORDSIZE == 64
-# define LINKED_LIST_UNUSED (-__INT64_C(9223372036854775807) - 1)
-#else
-# define LINKED_LIST_UNUSED (-2147483647 - 1)
-#endif
+#define LINKED_LIST_UNUSED (-((ssize_t)(SIZE_MAX >> 1)) - 1)
diff --git a/src/libmdsserver/util.h b/src/libmdsserver/util.h
index b86ffd5..543a1c9 100644
--- a/src/libmdsserver/util.h
+++ b/src/libmdsserver/util.h
@@ -24,6 +24,20 @@
#include <sys/types.h>
+
+#ifndef __USE_GNU
+__attribute__((pure, nonnull))
+static inline void* rawmemchr(const void* str, int chr)
+{
+ intptr_t str_address = (intptr_t)str;
+ void* str_nonconst = (void*)str_address;
+ char* s = str_nonconst;
+ while ((int)*s++ != chr);
+ return s - 1;
+}
+#endif
+
+
/**
* Convert a client ID string into a client ID integer
*
diff --git a/src/mds-registry/slave.h b/src/mds-registry/slave.h
index 1213aaa..d765ebb 100644
--- a/src/mds-registry/slave.h
+++ b/src/mds-registry/slave.h
@@ -21,6 +21,7 @@
#include <libmdsserver/hash-table.h>
+#include <unistd.h>
#include <stdlib.h>
#include <stdint.h>
#include <pthread.h>
diff --git a/src/mds-server/client.h b/src/mds-server/client.h
index e60a0ed..72304d7 100644
--- a/src/mds-server/client.h
+++ b/src/mds-server/client.h
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <pthread.h>
#include <stdint.h>
+#include <unistd.h>