From 96c66099109df5198d95ed32b5278bb574f4c8e5 Mon Sep 17 00:00:00 2001 From: patacongo Date: Tue, 28 Aug 2012 19:01:14 +0000 Subject: Add perror() git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5061 42af7a65-404d-4744-a932-0658087f49c3 --- apps/ChangeLog.txt | 4 ++-- apps/nshlib/Kconfig | 3 +++ apps/nshlib/README.txt | 4 +++- apps/nshlib/nsh.h | 7 ++++++- 4 files changed, 14 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt index 361fb97dc..e5c0b33a5 100755 --- a/apps/ChangeLog.txt +++ b/apps/ChangeLog.txt @@ -289,5 +289,5 @@ threds to no more than 3 of each priority. Bad things happen when the existing logic tried to created several hundred test treads! - - + * apps/nshlib/nsh.h: Both CONFIG_LIBC_STRERROR and CONFIG_NSH_STRERROR + must be defined to use strerror() with NSH. diff --git a/apps/nshlib/Kconfig b/apps/nshlib/Kconfig index 7e419bdde..ff692f43b 100644 --- a/apps/nshlib/Kconfig +++ b/apps/nshlib/Kconfig @@ -148,9 +148,12 @@ config NSH_FILEIOSIZE config NSH_STRERROR bool "Use strerror()" default n + depends on LIBC_STRERROR ---help--- strerror(errno) makes more readable output but strerror() is very large and will not be used unless this setting is 'y' + This setting depends upon the strerror() having been enabled + with LIBC_STRERROR. config NSH_LINELEN int "Max command line length" diff --git a/apps/nshlib/README.txt b/apps/nshlib/README.txt index d8edd8969..0f6aee759 100644 --- a/apps/nshlib/README.txt +++ b/apps/nshlib/README.txt @@ -915,7 +915,9 @@ NSH-Specific Configuration Settings * CONFIG_NSH_STRERROR strerror(errno) makes more readable output but strerror() is - very large and will not be used unless this setting is 'y' + very large and will not be used unless this setting is 'y'. + This setting depends upon the strerror() having been enabled + with CONFIG_LIBC_STRERROR. * CONFIG_NSH_LINELEN The maximum length of one command line and of one output line. diff --git a/apps/nshlib/nsh.h b/apps/nshlib/nsh.h index 439c2ffd1..dac91ba05 100644 --- a/apps/nshlib/nsh.h +++ b/apps/nshlib/nsh.h @@ -238,9 +238,14 @@ #define NSH_MAX_ARGUMENTS 6 /* strerror() produces much nicer output but is, however, quite large and - * will only be used if CONFIG_NSH_STRERROR is defined. + * will only be used if CONFIG_NSH_STRERROR is defined. Note that the strerror + * interface must also have been enabled with CONFIG_LIBC_STRERROR. */ +#ifndef CONFIG_LIBC_STRERROR +# undef CONFIG_NSH_STRERROR +#endif + #ifdef CONFIG_NSH_STRERROR # define NSH_ERRNO strerror(errno) # define NSH_ERRNO_OF(err) strerror(err) -- cgit v1.2.3