source: trunk/libs/newlib/src/newlib/libc/sys/linux/net/getnetgrent.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.5 KB
Line 
1/* Copyright (C) 1996, 1997, 2000, 2002 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 Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the 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   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with the GNU C Library; if not, write to the Free
16   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17   02111-1307 USA.  */
18
19#include <errno.h>
20#include <netdb.h>
21#include <stdlib.h>
22#define _IO_MTSAFE_IO
23#include <bits/libc-lock.h>
24#include "libc-symbols.h"
25
26/* Static buffer for return value.  We allocate it when needed.  */
27libc_freeres_ptr (static char *buffer);
28/* All three strings should fit in a block of 1kB size.  */
29#define BUFSIZE 1024
30
31
32
33static void
34allocate (void)
35{
36  buffer = (char *) malloc (BUFSIZE);
37}
38
39int
40getnetgrent (char **hostp, char **userp, char **domainp)
41{
42  __libc_once_define (static, once);
43  __libc_once (once, allocate);
44
45  if (buffer == NULL)
46    {
47      __set_errno (ENOMEM);
48      return -1;
49    }
50
51  return __getnetgrent_r (hostp, userp, domainp, buffer, BUFSIZE);
52}
Note: See TracBrowser for help on using the repository browser.