forked from KolibriOS/kolibrios
newlib: update
git-svn-id: svn://kolibrios.org@6099 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
105
contrib/sdk/sources/newlib/libc/stdlib/getenv_r.c
Normal file
105
contrib/sdk/sources/newlib/libc/stdlib/getenv_r.c
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<_getenv_r>>---look up environment variable
|
||||
|
||||
INDEX
|
||||
_getenv_r
|
||||
INDEX
|
||||
environ
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <stdlib.h>
|
||||
char *_getenv_r(struct _reent *<[reent_ptr]>, const char *<[name]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <stdlib.h>
|
||||
char *_getenv_r(<[reent_ptr]>, <[name]>)
|
||||
struct _reent *<[reent_ptr]>;
|
||||
char *<[name]>;
|
||||
|
||||
DESCRIPTION
|
||||
<<_getenv_r>> searches the list of environment variable names and values
|
||||
(using the global pointer ``<<char **environ>>'') for a variable whose
|
||||
name matches the string at <[name]>. If a variable name matches,
|
||||
<<_getenv_r>> returns a pointer to the associated value.
|
||||
|
||||
RETURNS
|
||||
A pointer to the (string) value of the environment variable, or
|
||||
<<NULL>> if there is no such environment variable.
|
||||
|
||||
PORTABILITY
|
||||
<<_getenv_r>> is not ANSI; the rules for properly forming names of environment
|
||||
variables vary from one system to another. This implementation does not
|
||||
permit '=' to be in identifiers.
|
||||
|
||||
<<_getenv_r>> requires a global pointer <<environ>>.
|
||||
*/
|
||||
|
||||
/* This file may have been modified by DJ Delorie (Jan 1991). If so,
|
||||
** these modifications are Copyright (C) 1991 DJ Delorie.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 1987 Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are permitted
|
||||
* provided that: (1) source distributions retain this entire copyright
|
||||
* notice and comment, and (2) distributions including binaries display
|
||||
* the following acknowledgement: ``This product includes software
|
||||
* developed by the University of California, Berkeley and its contributors''
|
||||
* in the documentation or other materials provided with the distribution
|
||||
* and in all advertising materials mentioning features or use of this
|
||||
* software. Neither the name of the University 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include "envlock.h"
|
||||
|
||||
extern char **environ;
|
||||
|
||||
/* Only deal with a pointer to environ, to work around subtle bugs with shared
|
||||
libraries and/or small data systems where the user declares his own
|
||||
'environ'. */
|
||||
static char ***p_environ = &environ;
|
||||
|
||||
/*
|
||||
* _findenv --
|
||||
* Returns pointer to value associated with name, if any, else NULL.
|
||||
* Sets offset to be the offset of the name/value combination in the
|
||||
* environmental array, for use by setenv(3) and unsetenv(3).
|
||||
*
|
||||
* This routine *should* be a static; don't use it.
|
||||
*/
|
||||
|
||||
char *
|
||||
_DEFUN (_findenv_r, (reent_ptr, name, offset),
|
||||
struct _reent *reent_ptr _AND
|
||||
register _CONST char *name _AND
|
||||
int *offset)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* _getenv_r --
|
||||
* Returns ptr to value associated with name, if any, else NULL.
|
||||
*/
|
||||
|
||||
char *
|
||||
_DEFUN (_getenv_r, (reent_ptr, name),
|
||||
struct _reent *reent_ptr _AND
|
||||
_CONST char *name)
|
||||
{
|
||||
int offset;
|
||||
|
||||
return NULL;
|
||||
// return _findenv_r (reent_ptr, name, &offset);
|
||||
}
|
Reference in New Issue
Block a user