OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [libc/] [unistd/] [confstr.c] - Blame information for rev 1771

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/* Copyright (C) 1991, 1996, 1997, 2000 Free Software Foundation, Inc.
2
   This file is part of the GNU C Library.
3
 
4
   The GNU C Library is free software; you can redistribute it and/or
5
   modify it under the terms of the GNU Library General Public License as
6
   published by the Free Software Foundation; either version 2 of the
7
   License, or (at your option) any later version.
8
 
9
   The GNU C Library is distributed in the hope that it will be useful,
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
   Library General Public License for more details.
13
 
14
   You should have received a copy of the GNU Library General Public
15
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
16
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17
   Boston, MA 02111-1307, USA.  */
18
 
19
#include <stddef.h>
20
#include <errno.h>
21
#include <unistd.h>
22
#include <string.h>
23
 
24
#define CS_PATH "/bin:/usr/bin"
25
 
26
/* If BUF is not NULL and LEN > 0, fill in at most LEN - 1 bytes
27
   of BUF with the value corresponding to NAME and zero-terminate BUF.
28
   Return the number of bytes required to hold NAME's entire value.  */
29
size_t confstr ( int name, char *buf, size_t len)
30
{
31
  const char *string;
32
  size_t string_len;
33
 
34
  switch (name)
35
    {
36
    case _CS_PATH:
37
      {
38
        static const char cs_path[] = CS_PATH;
39
        string = cs_path;
40
        string_len = sizeof (cs_path);
41
      }
42
      break;
43
    default:
44
      __set_errno (EINVAL);
45
      return 0;
46
    }
47
 
48
  if (len > 0 && buf != NULL)
49
    {
50
      if (string_len <= len)
51
        memcpy (buf, string, string_len);
52
      else
53
        {
54
          memcpy (buf, string, len - 1);
55
          buf[len - 1] = '\0';
56
        }
57
    }
58
  return string_len;
59
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.