diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-08-10 22:16:04 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2008-08-10 22:16:04 +0000 |
commit | 2ca9507eddbf4ae56a45983c551a84d37cd6db05 (patch) | |
tree | 3ce3bc41f9596c31a56febffc330d3056be4cc90 | |
parent | 7c934149bd6dbb4f40045712f65a3136e4032622 (diff) | |
download | px4-nuttx-2ca9507eddbf4ae56a45983c551a84d37cd6db05.tar.gz px4-nuttx-2ca9507eddbf4ae56a45983c551a84d37cd6db05.tar.bz2 px4-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/ChangeLog | 1 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 1 | ||||
-rw-r--r-- | nuttx/TODO | 5 | ||||
-rw-r--r-- | nuttx/lib/Makefile | 2 | ||||
-rw-r--r-- | nuttx/lib/lib_getenv.c | 170 |
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 <spudmonkey@racsa.co.cr> * 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 <spudmonkey@racsa.co.cr> 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; -} |