diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libmdsserver/linked-list.h | 6 | ||||
-rw-r--r-- | src/libmdsserver/util.h | 14 | ||||
-rw-r--r-- | src/mds-registry/slave.h | 1 | ||||
-rw-r--r-- | src/mds-server/client.h | 1 |
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> |