tokyocabinet: add missing function nanl() to work with backfire/uClibc 0.9.30
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 10 Jul 2011 23:39:33 +0000 (23:39 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 10 Jul 2011 23:39:33 +0000 (23:39 +0000)
SVN-Revision: 27584

libs/tokyocabinet/patches/200-uclibc_0.9.30_compat.patch [new file with mode: 0644]

diff --git a/libs/tokyocabinet/patches/200-uclibc_0.9.30_compat.patch b/libs/tokyocabinet/patches/200-uclibc_0.9.30_compat.patch
new file mode 100644 (file)
index 0000000..bf6a434
--- /dev/null
@@ -0,0 +1,29 @@
+--- a/tctdb.c
++++ b/tctdb.c
+@@ -20,6 +20,26 @@
+ #include "tctdb.h"
+ #include "myconf.h"
++#ifdef __UCLIBC__
++# include <features.h>
++# if __UCLIBC_MINOR__ <= 9 && __UCLIBC_SUBLEVEL__ <= 30
++
++size_t strlen(const char *s);
++long double strtold(const char *nptr, char **endptr);
++static inline long double nanl(const char *tagp)
++{
++        if (tagp[0] != '\0') {
++                char buf[6 + strlen(tagp)];
++                sprintf(buf, "NAN(%s)", tagp);
++                return strtold(buf, NULL);
++        }
++        return NAN;
++}
++
++# endif /* __UCLIBC_MINOR__ <= 9 && __UCLIBC_SUBLEVEL__ <= 30 */
++#endif /* __UCLIBC__ */
++
++
+ #define TDBOPAQUESIZ   64                // size of using opaque field
+ #define TDBLEFTOPQSIZ  64                // size of left opaque field
+ #define TDBPAGEBUFSIZ  32768             // size of a buffer to read each page