diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2014-02-05 14:31:01 +0100 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-02-05 14:34:15 +0100 |
commit | 24f3024f36ca44ca8bb32e1a80a048ac4301eaf7 (patch) | |
tree | 23f822b77f6bead622aa41ba201772c034ee164f | |
parent | 1e6f0ac4360bae25ef0a9618c9b091192b8e8997 (diff) | |
download | libgit2-24f3024f36ca44ca8bb32e1a80a048ac4301eaf7.tar.gz |
Split p_strlen into its own header
We need this from util.h and posix.h, but the latter includes common.h
which includes util.h, which means p_strlen is not defined by the time
we get to git__strndup().
Split the definition on p_strlen() off into its own header so we can use
it in util.h.
-rw-r--r-- | src/posix.h | 13 | ||||
-rw-r--r-- | src/strnlen.h | 23 | ||||
-rw-r--r-- | src/util.h | 2 |
3 files changed, 25 insertions, 13 deletions
diff --git a/src/posix.h b/src/posix.h index 0d9be49a9..6d3a84eba 100644 --- a/src/posix.h +++ b/src/posix.h @@ -89,18 +89,7 @@ extern struct tm * p_gmtime_r (const time_t *timer, struct tm *result); # include "unix/posix.h" #endif -#if defined(__MINGW32__) || defined(__sun) || defined(__APPLE__) -# define NO_STRNLEN -#endif - -#ifdef NO_STRNLEN -GIT_INLINE(size_t) p_strnlen(const char *s, size_t maxlen) { - const char *end = memchr(s, 0, maxlen); - return end ? (size_t)(end - s) : maxlen; -} -#else -# define p_strnlen strnlen -#endif +#include "strnlen.h" #ifdef NO_READDIR_R # include <dirent.h> diff --git a/src/strnlen.h b/src/strnlen.h new file mode 100644 index 000000000..007da2e55 --- /dev/null +++ b/src/strnlen.h @@ -0,0 +1,23 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_strlen_h__ +#define INCLUDE_strlen_h__ + +#if defined(__MINGW32__) || defined(__sun) || defined(__APPLE__) +# define NO_STRNLEN +#endif + +#ifdef NO_STRNLEN +GIT_INLINE(size_t) p_strnlen(const char *s, size_t maxlen) { + const char *end = memchr(s, 0, maxlen); + return end ? (size_t)(end - s) : maxlen; +} +#else +# define p_strnlen strnlen +#endif + +#endif diff --git a/src/util.h b/src/util.h index c18221f49..e378786d9 100644 --- a/src/util.h +++ b/src/util.h @@ -7,8 +7,8 @@ #ifndef INCLUDE_util_h__ #define INCLUDE_util_h__ -#include "posix.h" #include "common.h" +#include "strnlen.h" #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) #define bitsizeof(x) (CHAR_BIT * sizeof(x)) |