source: trunk/libs/newlib/src/newlib/libc/argz/envz_entry.c @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.0 KB
Line 
1/* Copyright (C) 2002 by  Red Hat, Incorporated. All rights reserved.
2 *
3 * Permission to use, copy, modify, and distribute this software
4 * is freely granted, provided that this notice is preserved.
5 */
6
7#include <errno.h>
8#include <sys/types.h>
9#include <string.h>
10#include <stdlib.h>
11#include <envz.h>
12
13#include "buf_findstr.h"
14
15char *
16envz_entry (const char *envz,
17       size_t envz_len,
18       const char *name)
19{
20  char *buf_ptr = (char *)envz;
21  size_t buf_len = envz_len;
22
23  while(buf_len)
24    {
25      if (_buf_findstr(name, &buf_ptr, &buf_len))
26        {
27          if (buf_ptr)
28            {
29              if (*buf_ptr == '=' || *buf_ptr == '\0')
30                {
31                  buf_ptr--;
32
33                  /* Move buf_ptr back to start of entry. */
34                  while(*buf_ptr != '\0' && buf_ptr != envz) buf_ptr--;
35                 
36                  if(*buf_ptr == '\0')
37                    buf_ptr++;
38
39                  return (char *)buf_ptr;
40                }
41            }
42        }
43    }
44  return 0;
45}
Note: See TracBrowser for help on using the repository browser.