Subversion Repositories Kolibri OS

Rev

Rev 6099 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6099 Rev 9959
Line 83... Line 83...
83
_DEFUN (_findenv_r, (reent_ptr, name, offset),
83
_DEFUN (_findenv_r, (reent_ptr, name, offset),
84
        struct _reent *reent_ptr   _AND
84
        struct _reent *reent_ptr   _AND
85
	register _CONST char *name _AND
85
	register _CONST char *name _AND
86
	int *offset)
86
	int *offset)
87
{
87
{
-
 
88
  register int len;
-
 
89
  register char **p;
-
 
90
  _CONST char *c;
-
 
91
 
-
 
92
  ENV_LOCK;
-
 
93
 
-
 
94
  /* In some embedded systems, this does not get set.  This protects
-
 
95
     newlib from dereferencing a bad pointer.  */
-
 
96
  if (!*p_environ)
-
 
97
    {
-
 
98
      ENV_UNLOCK;
-
 
99
      return NULL;
-
 
100
    }
-
 
101
 
-
 
102
  c = name;
-
 
103
  while (*c && *c != '=')  c++;
-
 
104
 
-
 
105
  /* Identifiers may not contain an '=', so cannot match if does */
-
 
106
  if(*c != '=')
-
 
107
    {
-
 
108
    len = c - name;
-
 
109
    for (p = *p_environ; *p; ++p)
-
 
110
      if (!strncmp (*p, name, len))
-
 
111
        if (*(c = *p + len) == '=')
-
 
112
	{
-
 
113
	  *offset = p - *p_environ;
-
 
114
	  ENV_UNLOCK;
-
 
115
	  return (char *) (++c);
-
 
116
	}
-
 
117
    }
-
 
118
  ENV_UNLOCK;
88
  return NULL;
119
  return NULL;
89
}
120
}
Line 90... Line 121...
90
 
121
 
91
/*
122
/*
Line 98... Line 129...
98
        struct _reent *reent_ptr _AND
129
        struct _reent *reent_ptr _AND
99
	_CONST char *name)
130
	_CONST char *name)
100
{
131
{
101
  int offset;
132
  int offset;
Line 102... Line -...
102
 
-
 
103
  return NULL;
133
 
104
//  return _findenv_r (reent_ptr, name, &offset);
134
  return _findenv_r (reent_ptr, name, &offset);