summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-08-10 22:16:04 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-08-10 22:16:04 +0000
commit2ca9507eddbf4ae56a45983c551a84d37cd6db05 (patch)
tree3ce3bc41f9596c31a56febffc330d3056be4cc90
parent7c934149bd6dbb4f40045712f65a3136e4032622 (diff)
downloadnuttx-2ca9507eddbf4ae56a45983c551a84d37cd6db05.tar.gz
nuttx-2ca9507eddbf4ae56a45983c551a84d37cd6db05.tar.bz2
nuttx-2ca9507eddbf4ae56a45983c551a84d37cd6db05.zip
Removed duplicate getenv() implementation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@815 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog1
-rw-r--r--nuttx/Documentation/NuttX.html1
-rw-r--r--nuttx/TODO5
-rw-r--r--nuttx/lib/Makefile2
-rw-r--r--nuttx/lib/lib_getenv.c170
5 files changed, 3 insertions, 176 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index d0c6fe66d..93b6ce297 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -397,4 +397,5 @@
* Added mkfatfs, mkfifo, sleep, usleep and nice commands to NSH
* NSH will now execute commands in background
* sched_get_priority_max/min returned error on SCHED_RR
+ * Removed duplicate getenv() implementation in /lib
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index 0de521455..93cf94966 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -1031,6 +1031,7 @@ nuttx-0.3.13 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Added mkfatfs, mkfifo, sleep, usleep and nice commands to NSH
* NSH will now execute commands in background
* sched_get_priority_max/min returned error on SCHED_RR
+ * Removed duplicate getenv() implementation in /lib
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/TODO b/nuttx/TODO
index d52533ab9..a19239b54 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -213,11 +213,6 @@ o Libraries (lib/)
Status: Open
Priority: Medium
- Description: There are two different copies of getenv(): One in
- sched/env_getenv.c and one in lib/lib_getenv(). Keep one.
- Status: Open
- Priority: Low
-
o File system / Generic drivers (fs/, drivers/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/nuttx/lib/Makefile b/nuttx/lib/Makefile
index 840ea0779..4f0eddb7a 100644
--- a/nuttx/lib/Makefile
+++ b/nuttx/lib/Makefile
@@ -67,7 +67,7 @@ STDIO_SRCS += lib_fopen.c lib_fclose.c lib_fread.c lib_libfread.c lib_fseek.c \
endif
endif
-STDLIB_SRCS = lib_getenv.c lib_rand.c
+STDLIB_SRCS = lib_rand.c
MATH_SRCS = lib_rint.c
diff --git a/nuttx/lib/lib_getenv.c b/nuttx/lib/lib_getenv.c
deleted file mode 100644
index 2be69ba3c..000000000
--- a/nuttx/lib/lib_getenv.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/************************************************************
- * lib_getenv.c
- *
- * Copyright (C) 2007 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name Gregory Nutt nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <debug.h>
-
-/************************************************************
- * Definitions
- ************************************************************/
-
-/************************************************************
- * Private Type Declarations
- ************************************************************/
-
-/************************************************************
- * Private Function Prototypes
- ************************************************************/
-
-/**********************************************************
- * Global Constant Data
- **********************************************************/
-
-/************************************************************
- * Global Variables
- ************************************************************/
-
-/**********************************************************
- * Private Constant Data
- **********************************************************/
-
-#ifdef ENVIRONMENT_STRINGS
-static const char environment[] = ENVIRONMENT_STRINGS;
-#else
-static const char environment[] = "";
-#endif
-
-/************************************************************
- * Private Variables
- ************************************************************/
-
-/************************************************************
- * Function: getenv
- *
- * Description:
- *
- * getenv() searches the environment list for a string of
- * the form name=value, and returns a pointer to the value
- * in the current environment if such a string is present,
- * otherwise a NULL pointer. name can be either the desired
- * name, null-terminated, or of the form name=value, in which
- * case getenv() uses the portion to the left of the = as the
- * search key.
- *
- * getenv() is (by convention) declared in stdlib.h
- *
- ************************************************************/
-
-FAR char *getenv(FAR const char *name)
-{
- const char *penv = environment;
- int size = sizeof(environment);
- const char *pend = &environment[size-1];
- const char *ptmp;
-
- ldbg("name=\"%s\"\n", name);
-
- if (name)
- {
- /* Process each string in the environment. */
-
- while (penv < pend)
- {
- lvdbg("Compare to=\"%s\"\n", penv);
-
- /* The logic below basically implements a version of
- * strcmp where the strings may be terminated with = signs.
- */
-
- ptmp = name;
- for (;;)
- {
- /* Are we at the end of the name-to-matching? */
-
- if (!*ptmp || *ptmp == '=')
- {
- /* Yes.. are we also at the end of the matching-name? */
-
- if (*penv == '=')
- {
- /* Yes.. return the pointer to the value. */
-
- ldbg("Returning \"%s\"\n", penv+1);
- return ((char*)penv+1);
- }
- else
- {
- /* No.. Skip to the next name matching name candidate. */
-
- while(*penv++);
- break;
- }
- }
-
- /* NO.. are we at the end of the matching name candidate?
- * OR.. do the corresponding characters not match.
- */
-
- else if (*penv != *ptmp)
- {
- /* Yes.. Skip to the next name matching name candidate. */
-
- while(*penv++);
- break;
- }
- else
- {
- /* No.. try the next characters. */
-
- penv++; ptmp++;
- }
- }
- }
- }
-
- /* If we got here, then no matching string was found. */
-
- ldbg("Returning NULL\n");
- return NULL;
-}