Jan Breuer
2015-04-22 cb9a2ff1daf017a3aee23c70c5210608e19df681
libscpi/inc/scpi/config.h
@@ -64,7 +64,8 @@
#endif
/* AVR libc */
#if defined(__AVR_LIBC_VERSION__)
#if defined(__AVR__)
#include <stdlib.h>
#define HAVE_DTOSTRE            1
#endif
@@ -83,43 +84,24 @@
/* define local macros depending on existance of strnlen */
#if HAVE_STRNLEN
#define SCPI_strnlen(s, l)   strnlen((s), (l))
#define SCPIDEFINE_strnlen(s, l)   strnlen((s), (l))
#else
#define SCPI_strnlen(s, l)   BSD_strnlen((s), (l))
#define SCPIDEFINE_strnlen(s, l)   BSD_strnlen((s), (l))
#endif
/* define local macros depending on existance of strncasecmp and strnicmp */
#if HAVE_STRNCASECMP
#define SCPI_strncasecmp(s1, s2, l)   strncasecmp((s1), (s2), (l))
#define SCPIDEFINE_strncasecmp(s1, s2, l) strncasecmp((s1), (s2), (l))
#elif HAVE_STRNICMP
#define SCPI_strncasecmp(s1, s2, l)     strnicmp((s1), (s2), (l))
#define SCPIDEFINE_strncasecmp(s1, s2, l) strnicmp((s1), (s2), (l))
#else
#define SCPI_strncasecmp(s1, s2, l)   OUR_strncasecmp((s1), (s2), (l))
#define SCPIDEFINE_strncasecmp(s1, s2, l) OUR_strncasecmp((s1), (s2), (l))
#endif
#if HAVE_DTOSTRE
char * dtostre(
   double __val,
   char * __s,
   unsigned char __prec,
   unsigned char __flags);
#ifndef DTOSTRE_ALWAYS_SIGN
#define   DTOSTRE_ALWAYS_SIGN 0x01
#endif
#ifndef DTOSTR_PLUS_SIGN
#define   DTOSTR_PLUS_SIGN 0x02
#endif
#ifndef DTOSTR_UPPERCASE
#define   DTOSTR_UPPERCASE 0x04
#endif
#define SCPI_doubleToStr(v, s, l) strlen(dtostre((v), (s), 6, DTOSTR_PLUS_SIGN | DTOSTRE_ALWAYS_SIGN | DTOSTR_UPPERCASE))
#define SCPIDEFINE_doubleToStr(v, s, l) strlen(dtostre((v), (s), 6, DTOSTR_PLUS_SIGN | DTOSTR_ALWAYS_SIGN | DTOSTR_UPPERCASE))
#else
#define SCPI_doubleToStr(v, s, l) snprintf((s), (l), "%lg", (v))
#define SCPIDEFINE_doubleToStr(v, s, l) snprintf((s), (l), "%lg", (v))
#endif