By default, floating point
support in printf, sscanf, etc. is disabled.
+config NOPRINTF_LONGLONG_TO_ASCII
+ bool "Disable long long type in printf"
+ default n
+ ---help---
+ sprintf-related logic is a little smaller if we do not support long long type
+ conversion
+
config LIBC_IOCTL_VARIADIC
bool "Enable variadic ioctl()"
default n
/* Unsigned long long int to ASCII conversions */
-#ifdef CONFIG_HAVE_LONG_LONG
+#ifndef CONFIG_NOPRINTF_LONGLONG_TO_ASCII
static void llutodec(FAR struct lib_outstream_s *obj, unsigned long long lln);
static void llutohex(FAR struct lib_outstream_s *obj, unsigned long long lln, uint8_t a);
static void llutooct(FAR struct lib_outstream_s *obj, unsigned long long lln);
#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
#endif /* CONFIG_LONG_IS_NOT_INT */
-#ifdef CONFIG_HAVE_LONG_LONG
+#ifndef CONFIG_NOPRINTF_LONGLONG_TO_ASCII
/****************************************************************************
* Name: llutodec
****************************************************************************/
}
#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
-#endif /* CONFIG_HAVE_LONG_LONG */
+#endif /* CONFIG_NOPRINTF_LONGLONG_TO_ASCII */
/****************************************************************************
* Name: prejustify
/* Handle integer conversions */
if (strchr("diuxXpob", FMT_CHAR)) {
-#ifdef CONFIG_HAVE_LONG_LONG
+#ifndef CONFIG_NOPRINTF_LONGLONG_TO_ASCII
if (IS_LONGLONGPRECISION(flags) && FMT_CHAR != 'p') {
long long lln;
#ifndef CONFIG_NOPRINTF_FIELDWIDTH
postjustify(obj, fmt, flags, width, lluwidth);
#endif
} else
-#endif /* CONFIG_HAVE_LONG_LONG */
+#endif /* CONFIG_NOPRINTF_LONGLONG_TO_ASCII */
#ifdef CONFIG_LONG_IS_NOT_INT
if (IS_LONGPRECISION(flags) && FMT_CHAR != 'p') {
long ln;