mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Update.
* io/ftw.c: Always use readdir64. * io/ftw64.c: Likewise. * sysdeps/unix/sysv/linux/ttyname.c: Likewise. * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise. * sysdeps/generic/glob.c: Likewise. Convert results if gl_readdir callback to dirent. Still allow compiling outside glibc. * sysdeps/gnu/glob64.c: Define COMPILE_GLOB64. * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. * malloc/mtrace.c: Use fopen64. * posix/spawni.c: Use __open64. * sysdeps/unix/opendir.c: Likewise. * sysdeps/unix/sysv/linux/gethostid.c: Likewise. * sysdeps/generic/ftruncate64.c: Define __ftruncate64 and make old name a weak alias. * sysdeps/unix/sysv/aix/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise. * resolv/res_data.c: Add cast to avoid warning. * include/unistd.h: Declare __ftruncate64. * sysdeps/generic/utmp_file.c: Use LFS functions and type.
This commit is contained in:
parent
f1a26a8504
commit
2958e6cc5f
27
ChangeLog
27
ChangeLog
@ -1,5 +1,32 @@
|
||||
2001-02-13 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* io/ftw.c: Always use readdir64.
|
||||
* io/ftw64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
|
||||
* sysdeps/generic/glob.c: Likewise. Convert results if gl_readdir
|
||||
callback to dirent. Still allow compiling outside glibc.
|
||||
* sysdeps/gnu/glob64.c: Define COMPILE_GLOB64.
|
||||
* sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
|
||||
|
||||
* malloc/mtrace.c: Use fopen64.
|
||||
* posix/spawni.c: Use __open64.
|
||||
* sysdeps/unix/opendir.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
|
||||
|
||||
* sysdeps/generic/ftruncate64.c: Define __ftruncate64 and make old
|
||||
name a weak alias.
|
||||
* sysdeps/unix/sysv/aix/ftruncate64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/ftruncate64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise.
|
||||
|
||||
* resolv/res_data.c: Add cast to avoid warning.
|
||||
|
||||
* include/unistd.h: Declare __ftruncate64.
|
||||
|
||||
* sysdeps/generic/utmp_file.c: Use LFS functions and type.
|
||||
|
||||
* sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use __lseek64
|
||||
instead of __lseek.
|
||||
|
||||
|
@ -88,6 +88,7 @@ extern ssize_t __write (int __fd, __const void *__buf, size_t __n);
|
||||
extern __pid_t __fork (void);
|
||||
extern int __getpagesize (void) __attribute__ ((__const__));
|
||||
extern int __ftruncate (int __fd, __off_t __length);
|
||||
extern int __ftruncate64 (int __fd, __off64_t __length);
|
||||
extern void *__sbrk (intptr_t __delta);
|
||||
|
||||
|
||||
|
10
io/ftw.c
10
io/ftw.c
@ -37,8 +37,6 @@
|
||||
# define NFTW_NAME nftw
|
||||
# define INO_T ino_t
|
||||
# define STAT stat
|
||||
# define DIRENT dirent
|
||||
# define READDIR __readdir
|
||||
# define LXSTAT __lxstat
|
||||
# define XSTAT __xstat
|
||||
# define FTW_FUNC_T __ftw_func_t
|
||||
@ -163,10 +161,10 @@ open_dir_stream (struct ftw_data *data, struct dir_data *dirp)
|
||||
else
|
||||
{
|
||||
DIR *st = data->dirstreams[data->actdir]->stream;
|
||||
struct DIRENT *d;
|
||||
struct dirent64 *d;
|
||||
size_t actsize = 0;
|
||||
|
||||
while ((d = READDIR (st)) != NULL)
|
||||
while ((d = __readdir64 (st)) != NULL)
|
||||
{
|
||||
size_t this_len = _D_EXACT_NAMLEN (d);
|
||||
if (actsize + this_len + 2 >= bufsize)
|
||||
@ -340,7 +338,7 @@ internal_function
|
||||
ftw_dir (struct ftw_data *data, struct STAT *st)
|
||||
{
|
||||
struct dir_data dir;
|
||||
struct DIRENT *d;
|
||||
struct dirent64 *d;
|
||||
int previous_base = data->ftw.base;
|
||||
int result;
|
||||
char *startp;
|
||||
@ -402,7 +400,7 @@ ftw_dir (struct ftw_data *data, struct STAT *st)
|
||||
*startp++ = '/';
|
||||
data->ftw.base = startp - data->dirbuf;
|
||||
|
||||
while (dir.stream != NULL && (d = READDIR (dir.stream)) != NULL)
|
||||
while (dir.stream != NULL && (d = __readdir64 (dir.stream)) != NULL)
|
||||
{
|
||||
result = process_entry (data, &dir, d->d_name, _D_EXACT_NAMLEN (d));
|
||||
if (result != 0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* File tree walker functions. LFS version.
|
||||
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
@ -22,8 +22,6 @@
|
||||
#define NFTW_NAME nftw64
|
||||
#define INO_T ino64_t
|
||||
#define STAT stat64
|
||||
#define DIRENT dirent64
|
||||
#define READDIR __readdir64
|
||||
#define LXSTAT __lxstat64
|
||||
#define XSTAT __xstat64
|
||||
#define FTW_FUNC_T __ftw64_func_t
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* More debugging hooks for `malloc'.
|
||||
Copyright (C) 1991,92,93,94,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991-1994,1996-1999,2000,2001 Free Software Foundation, Inc.
|
||||
Written April 2, 1991 by John Gilmore of Cygnus Support.
|
||||
Based on mcheck.c by Mike Haertel.
|
||||
|
||||
@ -268,7 +268,7 @@ mtrace ()
|
||||
#endif
|
||||
if (mallfile != NULL || mallwatch != NULL)
|
||||
{
|
||||
mallstream = fopen (mallfile != NULL ? mallfile : "/dev/null", "w");
|
||||
mallstream = fopen64 (mallfile != NULL ? mallfile : "/dev/null", "w");
|
||||
if (mallstream != NULL)
|
||||
{
|
||||
/* Make sure we close the file descriptor on exec. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2000, 2001 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
|
||||
@ -164,9 +164,9 @@ __spawni (pid_t *pid, const char *file,
|
||||
|
||||
case spawn_do_open:
|
||||
{
|
||||
int new_fd = __open (action->action.open_action.path,
|
||||
action->action.open_action.oflag,
|
||||
action->action.open_action.mode);
|
||||
int new_fd = __open64 (action->action.open_action.path,
|
||||
action->action.open_action.oflag,
|
||||
action->action.open_action.mode);
|
||||
|
||||
if (new_fd == -1)
|
||||
/* The `open' call failed. */
|
||||
|
@ -205,7 +205,7 @@ res_send_setrhook(res_send_rhook hook) {
|
||||
|
||||
int
|
||||
res_isourserver(const struct sockaddr_in *inp) {
|
||||
return (res_ourserver_p(&_res, inp));
|
||||
return (res_ourserver_p((const struct sockaddr_in6 *) &_res, inp));
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 2001 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
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
/* Truncate the file FD refers to to LENGTH bytes. */
|
||||
int
|
||||
ftruncate64 (fd, length)
|
||||
__ftruncate64 (fd, length)
|
||||
int fd;
|
||||
off64_t length;
|
||||
{
|
||||
@ -33,3 +33,4 @@ ftruncate64 (fd, length)
|
||||
}
|
||||
return __ftruncate (fd, (off_t) length);
|
||||
}
|
||||
weak_alias (__ftruncate64, ftruncate64)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
@ -121,6 +121,40 @@ extern int errno;
|
||||
# define HAVE_D_TYPE 1
|
||||
#endif
|
||||
|
||||
#if _LIBC
|
||||
# define HAVE_DIRENT64 1
|
||||
#endif
|
||||
|
||||
/* If the system has the `struct dirent64' type we use it internally. */
|
||||
#if defined HAVE_DIRENT64 && !defined COMPILE_GLOB64
|
||||
# if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__
|
||||
# define CONVERT_D_NAMLEN(d64, d32)
|
||||
# else
|
||||
# define CONVERT_D_NAMLEN(d64, d32) \
|
||||
(d64)->d_namlen = (d32)->d_namlen;
|
||||
# endif
|
||||
|
||||
# if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
|
||||
# define CONVERT_D_INO(d64, d32)
|
||||
# else
|
||||
# define CONVERT_D_INO(d64, d32) \
|
||||
(d64)->d_ino = (d32)->d_ino;
|
||||
# endif
|
||||
|
||||
# ifdef HAVE_D_TYPE
|
||||
# define CONVERT_D_TYPE(d64, d32) \
|
||||
(d64)->d_type = (d32)->d_type;
|
||||
# else
|
||||
# define CONVERT_D_TYPE(d64, d32)
|
||||
# endif
|
||||
|
||||
# define CONVERT_DIRENT_DIRENT64(d64, d32) \
|
||||
memcpy ((d64)->d_name, (d32)->d_name, NAMLEN (d32)); \
|
||||
CONVERT_D_NAMLEN (d64, d32) \
|
||||
CONVERT_D_INO (d64, d32) \
|
||||
CONVERT_D_TYPE (d64, d32)
|
||||
#endif
|
||||
|
||||
|
||||
#if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
|
||||
/* Posix does not require that the d_ino field be present, and some
|
||||
@ -246,7 +280,7 @@ extern char *alloca ();
|
||||
# define sysconf(id) __sysconf (id)
|
||||
# define closedir(dir) __closedir (dir)
|
||||
# define opendir(name) __opendir (name)
|
||||
# define readdir(str) __readdir (str)
|
||||
# define readdir(str) __readdir64 (str)
|
||||
# define getpwnam_r(name, bufp, buf, len, res) \
|
||||
__getpwnam_r (name, bufp, buf, len, res)
|
||||
# ifndef __stat64
|
||||
@ -1339,10 +1373,29 @@ glob_in_dir (pattern, directory, flags, errfunc, pglob)
|
||||
{
|
||||
const char *name;
|
||||
size_t len;
|
||||
struct dirent *d =
|
||||
((flags & GLOB_ALTDIRFUNC)
|
||||
? (struct dirent *)((*pglob->gl_readdir) (stream))
|
||||
: readdir ((DIR *) stream));
|
||||
#if defined HAVE_DIRENT64 && !defined COMPILE_GLOB64
|
||||
struct dirent64 *d;
|
||||
struct dirent64 d64;
|
||||
|
||||
if (flags & GLOB_ALTDIRFUNC)
|
||||
{
|
||||
struct dirent *d32 = (*pglob->gl_readdir) (stream);
|
||||
if (d32 != NULL)
|
||||
{
|
||||
CONVERT_DIRENT_DIRENT64 (&d64, d32);
|
||||
d = &d64;
|
||||
}
|
||||
else
|
||||
d = NULL;
|
||||
}
|
||||
else
|
||||
d = __readdir64 ((DIR *) stream);
|
||||
#else
|
||||
struct dirent *d = ((flags & GLOB_ALTDIRFUNC)
|
||||
? ((struct dirent *)
|
||||
(*pglob->gl_readdir) (stream))
|
||||
: __readdir ((DIR *) stream));
|
||||
#endif
|
||||
if (d == NULL)
|
||||
break;
|
||||
if (! REAL_DIR_ENTRY (d))
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>
|
||||
and Paul Janzen <pcj@primenet.com>, 1996.
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
/* Descriptor for the file and position. */
|
||||
static int file_fd = -1;
|
||||
static off_t file_offset;
|
||||
static off64_t file_offset;
|
||||
|
||||
/* Cache for the last read entry. */
|
||||
static struct utmp last_entry;
|
||||
@ -138,7 +138,7 @@ setutent_file (void)
|
||||
}
|
||||
}
|
||||
|
||||
__lseek (file_fd, 0, SEEK_SET);
|
||||
__lseek64 (file_fd, 0, SEEK_SET);
|
||||
file_offset = 0;
|
||||
|
||||
#if _HAVE_UT_TYPE - 0
|
||||
@ -384,13 +384,13 @@ pututline_file (const struct utmp *data)
|
||||
if (found < 0)
|
||||
{
|
||||
/* We append the next entry. */
|
||||
file_offset = __lseek (file_fd, 0, SEEK_END);
|
||||
file_offset = __lseek64 (file_fd, 0, SEEK_END);
|
||||
if (file_offset % sizeof (struct utmp) != 0)
|
||||
{
|
||||
file_offset -= file_offset % sizeof (struct utmp);
|
||||
__ftruncate (file_fd, file_offset);
|
||||
__ftruncate64 (file_fd, file_offset);
|
||||
|
||||
if (__lseek (file_fd, 0, SEEK_END) < 0)
|
||||
if (__lseek64 (file_fd, 0, SEEK_END) < 0)
|
||||
{
|
||||
pbuf = NULL;
|
||||
goto unlock_return;
|
||||
@ -401,7 +401,7 @@ pututline_file (const struct utmp *data)
|
||||
{
|
||||
/* We replace the just read entry. */
|
||||
file_offset -= sizeof (struct utmp);
|
||||
__lseek (file_fd, file_offset, SEEK_SET);
|
||||
__lseek64 (file_fd, file_offset, SEEK_SET);
|
||||
}
|
||||
|
||||
/* Write the new data. */
|
||||
@ -410,7 +410,7 @@ pututline_file (const struct utmp *data)
|
||||
/* If we appended a new record this is only partially written.
|
||||
Remove it. */
|
||||
if (found < 0)
|
||||
(void) __ftruncate (file_fd, file_offset);
|
||||
(void) __ftruncate64 (file_fd, file_offset);
|
||||
pbuf = NULL;
|
||||
}
|
||||
else
|
||||
@ -440,7 +440,7 @@ static int
|
||||
updwtmp_file (const char *file, const struct utmp *utmp)
|
||||
{
|
||||
int result = -1;
|
||||
off_t offset;
|
||||
off64_t offset;
|
||||
int fd;
|
||||
|
||||
/* Open WTMP file. */
|
||||
@ -451,13 +451,13 @@ updwtmp_file (const char *file, const struct utmp *utmp)
|
||||
LOCK_FILE (fd, F_WRLCK);
|
||||
|
||||
/* Remember original size of log file. */
|
||||
offset = __lseek (fd, 0, SEEK_END);
|
||||
offset = __lseek64 (fd, 0, SEEK_END);
|
||||
if (offset % sizeof (struct utmp) != 0)
|
||||
{
|
||||
offset -= offset % sizeof (struct utmp);
|
||||
__ftruncate (fd, offset);
|
||||
__ftruncate64 (fd, offset);
|
||||
|
||||
if (__lseek (fd, 0, SEEK_END) < 0)
|
||||
if (__lseek64 (fd, 0, SEEK_END) < 0)
|
||||
goto unlock_return;
|
||||
}
|
||||
|
||||
@ -466,7 +466,7 @@ updwtmp_file (const char *file, const struct utmp *utmp)
|
||||
will remain. */
|
||||
if (__write (fd, utmp, sizeof (struct utmp)) != sizeof (struct utmp))
|
||||
{
|
||||
__ftruncate (fd, offset);
|
||||
__ftruncate64 (fd, offset);
|
||||
goto unlock_return;
|
||||
}
|
||||
|
||||
|
@ -17,4 +17,6 @@
|
||||
|
||||
#define NO_GLOB_PATTERN_P 1
|
||||
|
||||
#define COMPILE_GLOB64 1
|
||||
|
||||
#include <sysdeps/generic/glob.c>
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991,92,93,94,95,96,98,2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991-1996,98,2000,2001 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
|
||||
@ -110,7 +110,7 @@ __opendir (const char *name)
|
||||
}
|
||||
}
|
||||
|
||||
fd = __open (name, O_RDONLY|O_NDELAY|EXTRA_FLAGS);
|
||||
fd = __open64 (name, O_RDONLY|O_NDELAY|EXTRA_FLAGS);
|
||||
if (__builtin_expect (fd, 0) < 0)
|
||||
return NULL;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999, 2000, 2001 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
|
||||
@ -21,7 +21,8 @@
|
||||
extern int kftruncate (int fd, long long int length);
|
||||
|
||||
int
|
||||
ftruncate64 (int fd, off64_t length)
|
||||
__ftruncate64 (int fd, off64_t length)
|
||||
{
|
||||
return kftruncate (fd, length);
|
||||
}
|
||||
weak_alias (__ftruncate64, ftruncate64)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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
|
||||
@ -38,7 +38,7 @@ extern int __syscall_ftruncate64 (int fd, int high_length, int low_length);
|
||||
|
||||
/* Truncate the file FD refers to to LENGTH bytes. */
|
||||
int
|
||||
ftruncate64 (int fd, off64_t length)
|
||||
__ftruncate64 (int fd, off64_t length)
|
||||
{
|
||||
#ifndef __ASSUME_TRUNCATE64_SYSCALL
|
||||
if (! __have_no_truncate64)
|
||||
@ -71,6 +71,7 @@ ftruncate64 (int fd, off64_t length)
|
||||
return __ftruncate (fd, (off_t) length);
|
||||
#endif
|
||||
}
|
||||
weak_alias (__ftruncate64, ftruncate64)
|
||||
|
||||
#else
|
||||
/* Use the generic implementation. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995,1996,1998,1999,2000,2001 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
@ -40,7 +40,7 @@ sethostid (id)
|
||||
}
|
||||
|
||||
/* Open file for writing. Everybody is allowed to read this file. */
|
||||
fd = __open (HOSTIDFILE, O_CREAT|O_WRONLY|O_TRUNC, 0644);
|
||||
fd = __open64 (HOSTIDFILE, O_CREAT|O_WRONLY|O_TRUNC, 0644);
|
||||
if (fd < 0)
|
||||
return -1;
|
||||
|
||||
@ -70,9 +70,9 @@ gethostid ()
|
||||
int fd;
|
||||
|
||||
/* First try to get the ID from a former invocation of sethostid. */
|
||||
fd = __open (HOSTIDFILE, O_RDONLY);
|
||||
fd = __open64 (HOSTIDFILE, O_RDONLY);
|
||||
if (fd < 0)
|
||||
fd = __open (OLD_HOSTIDFILE, O_RDONLY);
|
||||
fd = __open64 (OLD_HOSTIDFILE, O_RDONLY);
|
||||
if (fd >= 0)
|
||||
{
|
||||
ssize_t n = __read (fd, &id, sizeof (id));
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
#define NO_GLOB_PATTERN_P 1
|
||||
|
||||
#define COMPILE_GLOB64 1
|
||||
|
||||
#include <sysdeps/generic/glob.c>
|
||||
|
||||
#include "shlib-compat.h"
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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
|
||||
@ -39,7 +39,7 @@ extern int __syscall_ftruncate64 (int fd, int dummy, int high_length,
|
||||
|
||||
/* Truncate the file FD refers to to LENGTH bytes. */
|
||||
int
|
||||
ftruncate64 (int fd, off64_t length)
|
||||
__ftruncate64 (int fd, off64_t length)
|
||||
{
|
||||
#ifndef __ASSUME_TRUNCATE64_SYSCALL
|
||||
if (! __have_no_truncate64)
|
||||
@ -72,6 +72,7 @@ ftruncate64 (int fd, off64_t length)
|
||||
return __ftruncate (fd, (off_t) length);
|
||||
#endif
|
||||
}
|
||||
weak_alias (__ftruncate64, ftruncate64)
|
||||
|
||||
#else
|
||||
/* Use the generic implementation. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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
|
||||
@ -36,7 +36,7 @@ extern int __syscall_ftruncate64 (int fd, off64_t length);
|
||||
|
||||
/* Truncate the file FD refers to to LENGTH bytes. */
|
||||
int
|
||||
ftruncate64 (fd, length)
|
||||
__ftruncate64 (fd, length)
|
||||
int fd;
|
||||
off64_t length;
|
||||
{
|
||||
@ -69,6 +69,7 @@ ftruncate64 (fd, length)
|
||||
return __ftruncate (fd, (off_t) length);
|
||||
#endif
|
||||
}
|
||||
weak_alias (__ftruncate64, ftruncate64)
|
||||
|
||||
#else
|
||||
/* Use the generic implementation. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991,92,93,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,93,1996-1999,2000,2001 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
|
||||
@ -44,7 +44,7 @@ getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat)
|
||||
static size_t namelen;
|
||||
struct stat64 st;
|
||||
DIR *dirstream;
|
||||
struct dirent *d;
|
||||
struct dirent64 *d;
|
||||
size_t devlen = strlen (dev) + 1;
|
||||
|
||||
dirstream = __opendir (dev);
|
||||
@ -54,8 +54,8 @@ getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
while ((d = __readdir (dirstream)) != NULL)
|
||||
if (((ino_t) d->d_fileno == myino || *dostat)
|
||||
while ((d = __readdir64 (dirstream)) != NULL)
|
||||
if ((d->d_fileno == myino || *dostat)
|
||||
&& strcmp (d->d_name, "stdin")
|
||||
&& strcmp (d->d_name, "stdout")
|
||||
&& strcmp (d->d_name, "stderr"))
|
||||
@ -80,7 +80,7 @@ getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat)
|
||||
#ifdef _STATBUF_ST_RDEV
|
||||
&& S_ISCHR (st.st_mode) && st.st_rdev == mydev
|
||||
#else
|
||||
&& (ino64_t) d->d_fileno == myino && st.st_dev == mydev
|
||||
&& d->d_fileno == myino && st.st_dev == mydev
|
||||
#endif
|
||||
)
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991,92,93,95,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,93,1995-1999,2000,2001 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
|
||||
@ -39,7 +39,7 @@ getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino,
|
||||
{
|
||||
struct stat64 st;
|
||||
DIR *dirstream;
|
||||
struct dirent *d;
|
||||
struct dirent64 *d;
|
||||
size_t devlen = strlen (buf);
|
||||
|
||||
dirstream = __opendir (buf);
|
||||
@ -49,8 +49,8 @@ getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino,
|
||||
return errno;
|
||||
}
|
||||
|
||||
while ((d = __readdir (dirstream)) != NULL)
|
||||
if (((ino_t) d->d_fileno == myino || *dostat)
|
||||
while ((d = __readdir64 (dirstream)) != NULL)
|
||||
if ((d->d_fileno == myino || *dostat)
|
||||
&& strcmp (d->d_name, "stdin")
|
||||
&& strcmp (d->d_name, "stdout")
|
||||
&& strcmp (d->d_name, "stderr"))
|
||||
@ -73,7 +73,7 @@ getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino,
|
||||
#ifdef _STATBUF_ST_RDEV
|
||||
&& S_ISCHR (st.st_mode) && st.st_rdev == mydev
|
||||
#else
|
||||
&& (ino64_t) d->d_fileno == myino && st.st_dev == mydev
|
||||
&& d->d_fileno == myino && st.st_dev == mydev
|
||||
#endif
|
||||
)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user