summaryrefslogtreecommitdiff
path: root/nuttx/lib
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-08 13:56:21 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-08 13:56:21 +0000
commitb4420923cb149a5a8164bb06794e12b88203d97c (patch)
tree0622029fef5305661e1a27dbc8a8d6b7db1cf79a /nuttx/lib
parenta386a5f0c85cd610b0d8a952c2a28f4038094fa4 (diff)
downloadpx4-nuttx-b4420923cb149a5a8164bb06794e12b88203d97c.tar.gz
px4-nuttx-b4420923cb149a5a8164bb06794e12b88203d97c.tar.bz2
px4-nuttx-b4420923cb149a5a8164bb06794e12b88203d97c.zip
Shenzhou board is first to use ONLY Kconfig for configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5114 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/lib')
-rw-r--r--nuttx/lib/Kconfig23
-rw-r--r--nuttx/lib/stdio/lib_fgets.c29
2 files changed, 47 insertions, 5 deletions
diff --git a/nuttx/lib/Kconfig b/nuttx/lib/Kconfig
index a5b62e588..69a55d09c 100644
--- a/nuttx/lib/Kconfig
+++ b/nuttx/lib/Kconfig
@@ -51,6 +51,29 @@ config LIBC_FLOATINGPOINT
By default, floating point
support in printf, sscanf, etc. is disabled.
+choice
+ prompt "Newline Options"
+ default EOL_IS_EITHER_CRLF
+ ---help---
+ This selection determines the line terminating character that is used.
+ Some environments may return CR as end-of-line, others LF, and others
+ both. If not specified, the default is either CR or LF (but not both)
+ as the line terminating charactor.
+
+config EOL_IS_CR
+ bool "EOL is CR"
+
+config EOL_IS_LF
+ bool "EOL is LF"
+
+config EOL_IS_BOTH_CRLF
+ bool "EOL is CR and LF"
+
+config EOL_IS_EITHER_CRLF
+ bool "EOL is CR or LF"
+
+endchoice
+
config LIBC_STRERROR
bool "Enable strerror"
default n
diff --git a/nuttx/lib/stdio/lib_fgets.c b/nuttx/lib/stdio/lib_fgets.c
index e84e031f9..a4f9089ed 100644
--- a/nuttx/lib/stdio/lib_fgets.c
+++ b/nuttx/lib/stdio/lib_fgets.c
@@ -50,13 +50,32 @@
* Definitions
****************************************************************************/
/* Some environments may return CR as end-of-line, others LF, and others
- * both. The logic here assumes either but not both.
+ * both. If not specified, the logic here assumes either (but not both) as
+ * the default.
*/
-#undef CONFIG_EOL_IS_CR
-#undef CONFIG_EOL_IS_LF
-#undef CONFIG_EOL_IS_BOTH_CRLF
-#define CONFIG_EOL_IS_EITHER_CRLF 1
+#if defined(CONFIG_EOL_IS_CR)
+# undef CONFIG_EOL_IS_LF
+# undef CONFIG_EOL_IS_BOTH_CRLF
+# undef CONFIG_EOL_IS_EITHER_CRLF
+#elif defined(CONFIG_EOL_IS_LF)
+# undef CONFIG_EOL_IS_CR
+# undef CONFIG_EOL_IS_BOTH_CRLF
+# undef CONFIG_EOL_IS_EITHER_CRLF
+#elif defined(CONFIG_EOL_IS_BOTH_CRLF)
+# undef CONFIG_EOL_IS_CR
+# undef CONFIG_EOL_IS_LF
+# undef CONFIG_EOL_IS_EITHER_CRLF
+#elif defined(CONFIG_EOL_IS_EITHER_CRLF)
+# undef CONFIG_EOL_IS_CR
+# undef CONFIG_EOL_IS_LF
+# undef CONFIG_EOL_IS_BOTH_CRLF
+#else
+# undef CONFIG_EOL_IS_CR
+# undef CONFIG_EOL_IS_LF
+# undef CONFIG_EOL_IS_BOTH_CRLF
+# define CONFIG_EOL_IS_EITHER_CRLF 1
+#endif
/****************************************************************************
* Private Type Declarations