--- a/tctdb.c +++ b/tctdb.c @@ -20,6 +20,26 @@ #include "tctdb.h" #include "myconf.h" +#ifdef __UCLIBC__ +# include +# 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