4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-01 03:50:28 +08:00

2008-11-19 Jeff Johnston <jjohnstn@redhat.com>

* libc/sys/linux/bits/dirent.h: New header file.
        * libc/sys/linux/sys/dirent.h: Include <bits/dirent.h> instead of
        <linux/dirent.h>.
        * libc/posix/Makefile.am: Remove reallocf.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/reallocf.c: Moved to...
        * libc/stdlib/reallocf.c: Here
        * libc/stdlib/malloc.c: Add reallocf documentation.
        * libc/include/stdlib.h: Add reallocf and _reallocf_r prototypes.
        * libc/stdlib/Makefile.am: Add reallocf.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/posix/_isatty.c: Set errno.
This commit is contained in:
Jeff Johnston 2008-11-19 20:56:22 +00:00
parent e231c7dae9
commit 8ee939ea9f
11 changed files with 146 additions and 32 deletions

View File

@ -1,3 +1,18 @@
2008-11-19 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/bits/dirent.h: New header file.
* libc/sys/linux/sys/dirent.h: Include <bits/dirent.h> instead of
<linux/dirent.h>.
* libc/posix/Makefile.am: Remove reallocf.
* libc/posix/Makefile.in: Regenerated.
* libc/posix/reallocf.c: Moved to...
* libc/stdlib/reallocf.c: Here
* libc/stdlib/malloc.c: Add reallocf documentation.
* libc/include/stdlib.h: Add reallocf and _reallocf_r prototypes.
* libc/stdlib/Makefile.am: Add reallocf.
* libc/stdlib/Makefile.in: Regenerated.
* libc/posix/_isatty.c: Set errno.
2008-11-19 Craig Howland <howland@LGSInnovations.com> 2008-11-19 Craig Howland <howland@LGSInnovations.com>
* libc/unix/collate.c (__collate_err): simplify to remove unnecessary * libc/unix/collate.c (__collate_err): simplify to remove unnecessary

View File

@ -104,6 +104,9 @@ char * _EXFUN(mktemp,(char *));
_VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR))); _VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR)));
int _EXFUN(rand,(_VOID)); int _EXFUN(rand,(_VOID));
_PTR _EXFUN(realloc,(_PTR __r, size_t __size)); _PTR _EXFUN(realloc,(_PTR __r, size_t __size));
#ifndef __STRICT_ANSI__
_PTR _EXFUN(reallocf,(_PTR __r, size_t __size));
#endif
_VOID _EXFUN(srand,(unsigned __seed)); _VOID _EXFUN(srand,(unsigned __seed));
double _EXFUN(strtod,(const char *__n, char **__end_PTR)); double _EXFUN(strtod,(const char *__n, char **__end_PTR));
double _EXFUN(_strtod_r,(struct _reent *,const char *__n, char **__end_PTR)); double _EXFUN(_strtod_r,(struct _reent *,const char *__n, char **__end_PTR));
@ -129,6 +132,7 @@ int _EXFUN(on_exit,(_VOID (*__func)(int, _PTR),_PTR __arg));
_VOID _EXFUN(_Exit,(int __status) _ATTRIBUTE ((noreturn))); _VOID _EXFUN(_Exit,(int __status) _ATTRIBUTE ((noreturn)));
int _EXFUN(putenv,(char *__string)); int _EXFUN(putenv,(char *__string));
int _EXFUN(_putenv_r,(struct _reent *, char *__string)); int _EXFUN(_putenv_r,(struct _reent *, char *__string));
_PTR _EXFUN(_reallocf_r,(struct _reent *, _PTR, size_t));
int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite)); int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite));
int _EXFUN(_setenv_r,(struct _reent *, const char *__string, const char *__value, int __overwrite)); int _EXFUN(_setenv_r,(struct _reent *, const char *__string, const char *__value, int __overwrite));

View File

@ -7,7 +7,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
GENERAL_SOURCES = \ GENERAL_SOURCES = \
closedir.c collate.c collcmp.c creat.c \ closedir.c collate.c collcmp.c creat.c \
fnmatch.c glob.c _isatty.c isatty.c \ fnmatch.c glob.c _isatty.c isatty.c \
opendir.c readdir.c readdir.c reallocf.c \ opendir.c readdir.c readdir.c \
regcomp.c regerror.c regexec.c regfree.c \ regcomp.c regerror.c regexec.c regfree.c \
rewinddir.c sleep.c usleep.c \ rewinddir.c sleep.c usleep.c \
telldir.c telldir.c

View File

@ -62,11 +62,11 @@ am__objects_1 = lib_a-closedir.$(OBJEXT) lib_a-collate.$(OBJEXT) \
lib_a-fnmatch.$(OBJEXT) lib_a-glob.$(OBJEXT) \ lib_a-fnmatch.$(OBJEXT) lib_a-glob.$(OBJEXT) \
lib_a-_isatty.$(OBJEXT) lib_a-isatty.$(OBJEXT) \ lib_a-_isatty.$(OBJEXT) lib_a-isatty.$(OBJEXT) \
lib_a-opendir.$(OBJEXT) lib_a-readdir.$(OBJEXT) \ lib_a-opendir.$(OBJEXT) lib_a-readdir.$(OBJEXT) \
lib_a-readdir.$(OBJEXT) lib_a-reallocf.$(OBJEXT) \ lib_a-readdir.$(OBJEXT) lib_a-regcomp.$(OBJEXT) \
lib_a-regcomp.$(OBJEXT) lib_a-regerror.$(OBJEXT) \ lib_a-regerror.$(OBJEXT) lib_a-regexec.$(OBJEXT) \
lib_a-regexec.$(OBJEXT) lib_a-regfree.$(OBJEXT) \ lib_a-regfree.$(OBJEXT) lib_a-rewinddir.$(OBJEXT) \
lib_a-rewinddir.$(OBJEXT) lib_a-sleep.$(OBJEXT) \ lib_a-sleep.$(OBJEXT) lib_a-usleep.$(OBJEXT) \
lib_a-usleep.$(OBJEXT) lib_a-telldir.$(OBJEXT) lib_a-telldir.$(OBJEXT)
am__objects_2 = lib_a-scandir.$(OBJEXT) lib_a-seekdir.$(OBJEXT) am__objects_2 = lib_a-scandir.$(OBJEXT) lib_a-seekdir.$(OBJEXT)
am__objects_3 = lib_a-execl.$(OBJEXT) lib_a-execle.$(OBJEXT) \ am__objects_3 = lib_a-execl.$(OBJEXT) lib_a-execle.$(OBJEXT) \
lib_a-execlp.$(OBJEXT) lib_a-execv.$(OBJEXT) \ lib_a-execlp.$(OBJEXT) lib_a-execv.$(OBJEXT) \
@ -87,8 +87,8 @@ LTLIBRARIES = $(noinst_LTLIBRARIES)
libposix_la_LIBADD = libposix_la_LIBADD =
am__objects_6 = closedir.lo collate.lo collcmp.lo creat.lo fnmatch.lo \ am__objects_6 = closedir.lo collate.lo collcmp.lo creat.lo fnmatch.lo \
glob.lo _isatty.lo isatty.lo opendir.lo readdir.lo readdir.lo \ glob.lo _isatty.lo isatty.lo opendir.lo readdir.lo readdir.lo \
reallocf.lo regcomp.lo regerror.lo regexec.lo regfree.lo \ regcomp.lo regerror.lo regexec.lo regfree.lo rewinddir.lo \
rewinddir.lo sleep.lo usleep.lo telldir.lo sleep.lo usleep.lo telldir.lo
am__objects_7 = scandir.lo seekdir.lo am__objects_7 = scandir.lo seekdir.lo
am__objects_8 = execl.lo execle.lo execlp.lo execv.lo execve.lo \ am__objects_8 = execl.lo execle.lo execlp.lo execv.lo execve.lo \
execvp.lo wordexp.lo wordfree.lo execvp.lo wordexp.lo wordfree.lo
@ -292,7 +292,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
GENERAL_SOURCES = \ GENERAL_SOURCES = \
closedir.c collate.c collcmp.c creat.c \ closedir.c collate.c collcmp.c creat.c \
fnmatch.c glob.c _isatty.c isatty.c \ fnmatch.c glob.c _isatty.c isatty.c \
opendir.c readdir.c readdir.c reallocf.c \ opendir.c readdir.c readdir.c \
regcomp.c regerror.c regexec.c regfree.c \ regcomp.c regerror.c regexec.c regfree.c \
rewinddir.c sleep.c usleep.c \ rewinddir.c sleep.c usleep.c \
telldir.c telldir.c
@ -452,12 +452,6 @@ lib_a-readdir.o: readdir.c
lib_a-readdir.obj: readdir.c lib_a-readdir.obj: readdir.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-readdir.obj `if test -f 'readdir.c'; then $(CYGPATH_W) 'readdir.c'; else $(CYGPATH_W) '$(srcdir)/readdir.c'; fi` $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-readdir.obj `if test -f 'readdir.c'; then $(CYGPATH_W) 'readdir.c'; else $(CYGPATH_W) '$(srcdir)/readdir.c'; fi`
lib_a-reallocf.o: reallocf.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-reallocf.o `test -f 'reallocf.c' || echo '$(srcdir)/'`reallocf.c
lib_a-reallocf.obj: reallocf.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-reallocf.obj `if test -f 'reallocf.c'; then $(CYGPATH_W) 'reallocf.c'; else $(CYGPATH_W) '$(srcdir)/reallocf.c'; fi`
lib_a-regcomp.o: regcomp.c lib_a-regcomp.o: regcomp.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-regcomp.o `test -f 'regcomp.c' || echo '$(srcdir)/'`regcomp.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-regcomp.o `test -f 'regcomp.c' || echo '$(srcdir)/'`regcomp.c

View File

@ -3,15 +3,19 @@
/* Dumb implementation so programs will at least run. */ /* Dumb implementation so programs will at least run. */
#include <sys/stat.h> #include <sys/stat.h>
#include <errno.h>
int int
_DEFUN(_isatty, (fd), int fd) _DEFUN(_isatty, (fd), int fd)
{ {
struct stat buf; struct stat buf;
if (fstat (fd, &buf) < 0) if (fstat (fd, &buf) < 0) {
errno = EBADF;
return 0; return 0;
}
if (S_ISCHR (buf.st_mode)) if (S_ISCHR (buf.st_mode))
return 1; return 1;
errno = ENOTTY;
return 0; return 0;
} }

View File

@ -47,6 +47,7 @@ GENERAL_SOURCES = \
rand.c \ rand.c \
rand_r.c \ rand_r.c \
realloc.c \ realloc.c \
reallocf.c \
strtod.c \ strtod.c \
strtol.c \ strtol.c \
strtoul.c \ strtoul.c \

View File

@ -87,11 +87,11 @@ am__objects_1 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \
lib_a-mlock.$(OBJEXT) lib_a-mprec.$(OBJEXT) \ lib_a-mlock.$(OBJEXT) lib_a-mprec.$(OBJEXT) \
lib_a-mstats.$(OBJEXT) lib_a-rand.$(OBJEXT) \ lib_a-mstats.$(OBJEXT) lib_a-rand.$(OBJEXT) \
lib_a-rand_r.$(OBJEXT) lib_a-realloc.$(OBJEXT) \ lib_a-rand_r.$(OBJEXT) lib_a-realloc.$(OBJEXT) \
lib_a-strtod.$(OBJEXT) lib_a-strtol.$(OBJEXT) \ lib_a-reallocf.$(OBJEXT) lib_a-strtod.$(OBJEXT) \
lib_a-strtoul.$(OBJEXT) lib_a-wcstol.$(OBJEXT) \ lib_a-strtol.$(OBJEXT) lib_a-strtoul.$(OBJEXT) \
lib_a-wcstoul.$(OBJEXT) lib_a-wcstombs.$(OBJEXT) \ lib_a-wcstol.$(OBJEXT) lib_a-wcstoul.$(OBJEXT) \
lib_a-wcstombs_r.$(OBJEXT) lib_a-wctomb.$(OBJEXT) \ lib_a-wcstombs.$(OBJEXT) lib_a-wcstombs_r.$(OBJEXT) \
lib_a-wctomb_r.$(OBJEXT) lib_a-wctomb.$(OBJEXT) lib_a-wctomb_r.$(OBJEXT)
am__objects_2 = lib_a-cxa_atexit.$(OBJEXT) \ am__objects_2 = lib_a-cxa_atexit.$(OBJEXT) \
lib_a-cxa_finalize.$(OBJEXT) lib_a-drand48.$(OBJEXT) \ lib_a-cxa_finalize.$(OBJEXT) lib_a-drand48.$(OBJEXT) \
lib_a-ecvtbuf.$(OBJEXT) lib_a-efgcvt.$(OBJEXT) \ lib_a-ecvtbuf.$(OBJEXT) lib_a-efgcvt.$(OBJEXT) \
@ -135,9 +135,9 @@ am__objects_7 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \
gdtoa-gethex.lo gdtoa-hexnan.lo getenv.lo getenv_r.lo labs.lo \ gdtoa-gethex.lo gdtoa-hexnan.lo getenv.lo getenv_r.lo labs.lo \
ldiv.lo ldtoa.lo malloc.lo mblen.lo mblen_r.lo mbstowcs.lo \ ldiv.lo ldtoa.lo malloc.lo mblen.lo mblen_r.lo mbstowcs.lo \
mbstowcs_r.lo mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo \ mbstowcs_r.lo mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo \
mstats.lo rand.lo rand_r.lo realloc.lo strtod.lo strtol.lo \ mstats.lo rand.lo rand_r.lo realloc.lo reallocf.lo strtod.lo \
strtoul.lo wcstol.lo wcstoul.lo wcstombs.lo wcstombs_r.lo \ strtol.lo strtoul.lo wcstol.lo wcstoul.lo wcstombs.lo \
wctomb.lo wctomb_r.lo wcstombs_r.lo wctomb.lo wctomb_r.lo
am__objects_8 = cxa_atexit.lo cxa_finalize.lo drand48.lo ecvtbuf.lo \ am__objects_8 = cxa_atexit.lo cxa_finalize.lo drand48.lo ecvtbuf.lo \
efgcvt.lo erand48.lo jrand48.lo lcong48.lo lrand48.lo \ efgcvt.lo erand48.lo jrand48.lo lcong48.lo lrand48.lo \
mrand48.lo msize.lo mtrim.lo nrand48.lo rand48.lo seed48.lo \ mrand48.lo msize.lo mtrim.lo nrand48.lo rand48.lo seed48.lo \
@ -388,6 +388,7 @@ GENERAL_SOURCES = \
rand.c \ rand.c \
rand_r.c \ rand_r.c \
realloc.c \ realloc.c \
reallocf.c \
strtod.c \ strtod.c \
strtol.c \ strtol.c \
strtoul.c \ strtoul.c \
@ -857,6 +858,12 @@ lib_a-realloc.o: realloc.c
lib_a-realloc.obj: realloc.c lib_a-realloc.obj: realloc.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-realloc.obj `if test -f 'realloc.c'; then $(CYGPATH_W) 'realloc.c'; else $(CYGPATH_W) '$(srcdir)/realloc.c'; fi` $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-realloc.obj `if test -f 'realloc.c'; then $(CYGPATH_W) 'realloc.c'; else $(CYGPATH_W) '$(srcdir)/realloc.c'; fi`
lib_a-reallocf.o: reallocf.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-reallocf.o `test -f 'reallocf.c' || echo '$(srcdir)/'`reallocf.c
lib_a-reallocf.obj: reallocf.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-reallocf.obj `if test -f 'reallocf.c'; then $(CYGPATH_W) 'reallocf.c'; else $(CYGPATH_W) '$(srcdir)/reallocf.c'; fi`
lib_a-strtod.o: strtod.c lib_a-strtod.o: strtod.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtod.o `test -f 'strtod.c' || echo '$(srcdir)/'`strtod.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtod.o `test -f 'strtod.c' || echo '$(srcdir)/'`strtod.c

View File

@ -22,6 +22,8 @@ INDEX
malloc malloc
INDEX INDEX
realloc realloc
INDEX
reallocf
INDEX INDEX
free free
INDEX INDEX
@ -32,6 +34,8 @@ INDEX
_malloc_r _malloc_r
INDEX INDEX
_realloc_r _realloc_r
INDEX
_reallocf_r
INDEX INDEX
_free_r _free_r
INDEX INDEX
@ -43,6 +47,7 @@ ANSI_SYNOPSIS
#include <stdlib.h> #include <stdlib.h>
void *malloc(size_t <[nbytes]>); void *malloc(size_t <[nbytes]>);
void *realloc(void *<[aptr]>, size_t <[nbytes]>); void *realloc(void *<[aptr]>, size_t <[nbytes]>);
void *reallocf(void *<[aptr]>, size_t <[nbytes]>);
void free(void *<[aptr]>); void free(void *<[aptr]>);
void *memalign(size_t <[align]>, size_t <[nbytes]>); void *memalign(size_t <[align]>, size_t <[nbytes]>);
@ -52,6 +57,8 @@ ANSI_SYNOPSIS
void *_malloc_r(void *<[reent]>, size_t <[nbytes]>); void *_malloc_r(void *<[reent]>, size_t <[nbytes]>);
void *_realloc_r(void *<[reent]>, void *_realloc_r(void *<[reent]>,
void *<[aptr]>, size_t <[nbytes]>); void *<[aptr]>, size_t <[nbytes]>);
void *_reallocf_r(void *<[reent]>,
void *<[aptr]>, size_t <[nbytes]>);
void _free_r(void *<[reent]>, void *<[aptr]>); void _free_r(void *<[reent]>, void *<[aptr]>);
void *_memalign_r(void *<[reent]>, void *_memalign_r(void *<[reent]>,
@ -68,6 +75,10 @@ TRAD_SYNOPSIS
char *<[aptr]>; char *<[aptr]>;
size_t <[nbytes]>; size_t <[nbytes]>;
char *reallocf(<[aptr]>, <[nbytes]>)
char *<[aptr]>;
size_t <[nbytes]>;
void free(<[aptr]>) void free(<[aptr]>)
char *<[aptr]>; char *<[aptr]>;
@ -87,6 +98,11 @@ TRAD_SYNOPSIS
char *<[aptr]>; char *<[aptr]>;
size_t <[nbytes]>; size_t <[nbytes]>;
char *_reallocf_r(<[reent]>, <[aptr]>, <[nbytes]>)
char *<[reent]>;
char *<[aptr]>;
size_t <[nbytes]>;
void _free_r(<[reent]>, <[aptr]>) void _free_r(<[reent]>, <[aptr]>)
char *<[reent]>; char *<[reent]>;
char *<[aptr]>; char *<[aptr]>;
@ -124,6 +140,11 @@ memory storage pool by calling <<free>> with the address of the object
as the argument. You can also use <<realloc>> for this purpose by as the argument. You can also use <<realloc>> for this purpose by
calling it with <<0>> as the <[nbytes]> argument. calling it with <<0>> as the <[nbytes]> argument.
The <<reallocf>> function behaves just like <<realloc>> except if the
function is required to allocate new storage and this fails. In this
case <<reallocf>> will free the original object passed in whereas
<<realloc>> will not.
The <<memalign>> function returns a block of size <[nbytes]> aligned The <<memalign>> function returns a block of size <[nbytes]> aligned
to a <[align]> boundary. The <[align]> argument must be a power of to a <[align]> boundary. The <[align]> argument must be a power of
two. two.
@ -134,9 +155,9 @@ available in the block. This may or may not be more than the size
requested from <<malloc>>, due to alignment or minimum size requested from <<malloc>>, due to alignment or minimum size
constraints. constraints.
The alternate functions <<_malloc_r>>, <<_realloc_r>>, <<_free_r>>, The alternate functions <<_malloc_r>>, <<_realloc_r>>, <<_reallocf_r>>,
<<_memalign_r>>, and <<_malloc_usable_size_r>> are reentrant versions. <<_free_r>>, <<_memalign_r>>, and <<_malloc_usable_size_r>> are reentrant
The extra argument <[reent]> is a pointer to a reentrancy structure. versions. The extra argument <[reent]> is a pointer to a reentrancy structure.
If you have multiple threads of execution which may call any of these If you have multiple threads of execution which may call any of these
routines, or if any of these routines may be called reentrantly, then routines, or if any of these routines may be called reentrantly, then

View File

@ -24,17 +24,32 @@
* SUCH DAMAGE. * SUCH DAMAGE.
*/ */
/* Documented in malloc.c. */
#include <sys/cdefs.h> #include <sys/cdefs.h>
#include <stdlib.h> #include <stdlib.h>
void * _PTR
reallocf(void *ptr, size_t size) _DEFUN (_reallocf_r, (reentptr, ptr, size),
struct _reent *reentptr _AND
_PTR ptr _AND
size_t size)
{ {
void *nptr; void *nptr;
nptr = realloc(ptr, size); nptr = _realloc_r(reentptr, ptr, size);
if (!nptr && ptr) if (!nptr && ptr)
free(ptr); _free_r(reentptr, ptr);
return (nptr); return (nptr);
} }
#ifndef _REENT_ONLY
_PTR
_DEFUN (reallocf, (ptr, size),
_PTR ptr _AND
size_t size)
{
return _reallocf_r(_REENT, ptr, size);
}
#endif

View File

@ -0,0 +1,53 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifndef _SYS_DIRENT_H
# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
#endif
struct dirent
{
#ifndef __USE_FILE_OFFSET64
__ino_t d_ino;
__off_t d_off;
#else
__ino64_t d_ino;
__off64_t d_off;
#endif
unsigned short int d_reclen;
unsigned char d_type;
char d_name[256]; /* We must not include limits.h! */
};
#ifdef __USE_LARGEFILE64
struct dirent64
{
__ino64_t d_ino;
__off64_t d_off;
unsigned short int d_reclen;
unsigned char d_type;
char d_name[256]; /* We must not include limits.h! */
};
#endif
#define d_fileno d_ino /* Backwards compatibility. */
#undef _DIRENT_HAVE_D_NAMLEN
#define _DIRENT_HAVE_D_RECLEN
#define _DIRENT_HAVE_D_OFF
#define _DIRENT_HAVE_D_TYPE

View File

@ -7,7 +7,7 @@
#define _SYS_DIRENT_H #define _SYS_DIRENT_H
#include <sys/types.h> #include <sys/types.h>
#include <linux/dirent.h> #include <bits/dirent.h>
#define _LIBC 1 #define _LIBC 1
#define NOT_IN_libc 1 #define NOT_IN_libc 1
#include <sys/lock.h> #include <sys/lock.h>