* version.h (VERSION): Bump to 2.0.99.

	* posix/fnmath.h: Don't redefine __P when used in glibc.
	* posix/glob.h: Likewise.

	* inet/rcmd.c (__ivaliduser2): Fix memory leak.
	Patch by Dick Streefland <dick_streefland@tasking.com>.

	* stdio-common/tst-ungetc.c: Add more test cases.

	* sysdeps/unix/sysv/linux/Dist: Add linux_fsinfo.h.
	* sysdeps/unix/sysv/linux/fstatvfs.c: Move filesystem magic number
	definitions to ...
	* sysdeps/unix/sysv/linux/linux_fsinfo.h: ...here.  New file.
	* sysdeps/unix/sysv/linux/fpathconf.c: New file.
	* sysdeps/unix/sysv/linux/pathconf.c: New file.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c: Handle _PC_LINK_MAX here.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c: Likewise.

1998-10-20  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Include
	<asm/ptrace.h> to define struct pt_regs.
	* sysdeps/unix/sysv/linux/arm/profil-counter.h: Don't bother
	including <asm/ptrace.h> here.

	* sysdeps/unix/sysv/linux/arm/sysdep.S: Remove spurious call to
	C_SYMBOL_NAME macro.

1998-10-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/sys/ptrace.h (__ptrace_request): Remove comma at
	end of enumerator list.
	* sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Likewise.
	* posix/wordexp.h: Likewise.

	* db/db.h: Use __PMT instead of __P in typedefs.
	* db/mpool.h: Likewise.
	* sysdeps/generic/bits/siginfo.h: Likewise.
	* nis/rpcsvc/ypclnt.h: Likewise.

1998-10-23  Ulrich Drepper  <drepper@cygnus.com>
This commit is contained in:
Ulrich Drepper 1998-10-23 13:44:50 +00:00
parent d6787ff257
commit 24f25de656
24 changed files with 407 additions and 75 deletions

View File

@ -1,3 +1,46 @@
1998-10-23 Ulrich Drepper <drepper@cygnus.com>
* version.h (VERSION): Bump to 2.0.99.
* posix/fnmath.h: Don't redefine __P when used in glibc.
* posix/glob.h: Likewise.
* inet/rcmd.c (__ivaliduser2): Fix memory leak.
Patch by Dick Streefland <dick_streefland@tasking.com>.
* stdio-common/tst-ungetc.c: Add more test cases.
* sysdeps/unix/sysv/linux/Dist: Add linux_fsinfo.h.
* sysdeps/unix/sysv/linux/fstatvfs.c: Move filesystem magic number
definitions to ...
* sysdeps/unix/sysv/linux/linux_fsinfo.h: ...here. New file.
* sysdeps/unix/sysv/linux/fpathconf.c: New file.
* sysdeps/unix/sysv/linux/pathconf.c: New file.
* sysdeps/unix/sysv/linux/alpha/fpathconf.c: Handle _PC_LINK_MAX here.
* sysdeps/unix/sysv/linux/alpha/pathconf.c: Likewise.
1998-10-20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Include
<asm/ptrace.h> to define struct pt_regs.
* sysdeps/unix/sysv/linux/arm/profil-counter.h: Don't bother
including <asm/ptrace.h> here.
* sysdeps/unix/sysv/linux/arm/sysdep.S: Remove spurious call to
C_SYMBOL_NAME macro.
1998-10-23 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/sys/ptrace.h (__ptrace_request): Remove comma at
end of enumerator list.
* sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Likewise.
* posix/wordexp.h: Likewise.
* db/db.h: Use __PMT instead of __P in typedefs.
* db/mpool.h: Likewise.
* sysdeps/generic/bits/siginfo.h: Likewise.
* nis/rpcsvc/ypclnt.h: Likewise.
1998-10-23 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c (_IO_seekmark): When switching to backup buffer

View File

@ -1,5 +1,5 @@
/* siginfo_t, sigevent and constants. Stub version.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1998 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
@ -185,7 +185,7 @@ typedef struct sigevent
sigval_t sigev_value;
int sigev_signo;
int sigev_notify;
void (*sigev_notify_function) __P ((sigval_t)); /* Function to start. */
void (*sigev_notify_function) __PMT ((sigval_t)); /* Function to start. */
void *sigev_notify_attributes; /* Really pthread_attr_t.*/
} sigevent_t;

20
db/db.h
View File

@ -117,14 +117,14 @@ typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE;
/* Access method description structure. */
typedef struct __db {
DBTYPE type; /* Underlying db type. */
int (*close) __P((struct __db *));
int (*del) __P((const struct __db *, const DBT *, u_int));
int (*get) __P((const struct __db *, const DBT *, DBT *, u_int));
int (*put) __P((const struct __db *, DBT *, const DBT *, u_int));
int (*seq) __P((const struct __db *, DBT *, DBT *, u_int));
int (*sync) __P((const struct __db *, u_int));
int (*close) __PMT((struct __db *));
int (*del) __PMT((const struct __db *, const DBT *, u_int));
int (*get) __PMT((const struct __db *, const DBT *, DBT *, u_int));
int (*put) __PMT((const struct __db *, DBT *, const DBT *, u_int));
int (*seq) __PMT((const struct __db *, DBT *, DBT *, u_int));
int (*sync) __PMT((const struct __db *, u_int));
void *internal; /* Access method private. */
int (*fd) __P((const struct __db *));
int (*fd) __PMT((const struct __db *));
} DB;
#define BTREEMAGIC 0x053162
@ -139,9 +139,9 @@ typedef struct {
int minkeypage; /* minimum keys per page */
u_int psize; /* page size */
int (*compare) /* comparison function */
__P((const DBT *, const DBT *));
__PMT((const DBT *, const DBT *));
size_t (*prefix) /* prefix function */
__P((const DBT *, const DBT *));
__PMT((const DBT *, const DBT *));
int lorder; /* byte order */
} BTREEINFO;
@ -155,7 +155,7 @@ typedef struct {
u_int nelem; /* number of elements */
u_int cachesize; /* bytes to cache */
u_int32_t /* hash function */
(*hash) __P((const void *, size_t));
(*hash) __PMT((const void *, size_t));
int lorder; /* byte order */
} HASHINFO;

View File

@ -70,9 +70,9 @@ typedef struct MPOOL {
u_long pagesize; /* file page size */
int fd; /* file descriptor */
/* page in conversion routine */
void (*pgin) __P((void *, pgno_t, void *));
void (*pgin) __PMT((void *, pgno_t, void *));
/* page out conversion routine */
void (*pgout) __P((void *, pgno_t, void *));
void (*pgout) __PMT((void *, pgno_t, void *));
void *pgcookie; /* cookie for page in/out routines */
#ifdef STATISTICS
u_long cachehit;

View File

@ -553,6 +553,7 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost)
int hcheck, ucheck;
char *buf = NULL;
size_t bufsize = 0;
int retval = -1;
while (__getline (&buf, &bufsize, hostf) > 0) {
buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */
@ -595,7 +596,7 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost)
hcheck = __icheckhost (raddr, buf, rhost);
if (hcheck < 0)
return -1;
break;
if (hcheck) {
/* Then check user part */
@ -605,16 +606,21 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost)
ucheck = __icheckuser (user, ruser);
/* Positive 'host user' match? */
if (ucheck > 0)
return 0;
if (ucheck > 0) {
retval = 0;
break;
}
/* Negative 'host -user' match? */
if (ucheck < 0)
return -1;
break;
/* Neither, go on looking for match */
}
}
return -1;
if (buf != NULL)
free (buf);
return retval;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -53,7 +53,7 @@ __BEGIN_DECLS
/* struct ypall_callback * is the arg which must be passed to yp_all */
struct ypall_callback
{
int (*foreach) __P ((int __status, char *__key, int __keylen,
int (*foreach) __PMT ((int __status, char *__key, int __keylen,
char *__val, int __vallen, char *__data));
char *data;
};

View File

@ -24,8 +24,10 @@ extern "C" {
#endif
#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
# undef __P
# define __P(protos) protos
# if !defined __GLIBC__ || !defined __P
# undef __P
# define __P(protos) protos
# endif
#else /* Not C++ or ANSI C. */
# undef __P
# define __P(protos) ()

View File

@ -24,15 +24,17 @@ extern "C" {
#undef __ptr_t
#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
# undef __P
# undef __PMT
# define __P(protos) protos
# define __PMT(protos) protos
# define __ptr_t void *
# if !defined __GNUC__ || __GNUC__ < 2
# undef __const
# define __const const
# if !defined __GLIBC__ || !defined __P
# undef __P
# undef __PMT
# define __P(protos) protos
# define __PMT(protos) protos
# if !defined __GNUC__ || __GNUC__ < 2
# undef __const
# define __const const
# endif
# endif
# define __ptr_t void *
#else /* Not C++ or ANSI C. */
# undef __P
# undef __PMT

View File

@ -33,7 +33,7 @@ enum
WRDE_SHOWERR = (1 << 4), /* Don't redirect stderr to /dev/null. */
WRDE_UNDEF = (1 << 5), /* Error for expanding undefined variables. */
__WRDE_FLAGS = (WRDE_DOOFFS | WRDE_APPEND | WRDE_NOCMD |
WRDE_REUSE | WRDE_SHOWERR | WRDE_UNDEF),
WRDE_REUSE | WRDE_SHOWERR | WRDE_UNDEF)
};
/* Structure describing a word-expansion run. */

View File

@ -22,17 +22,24 @@ main (int argc, char *argv[])
name = tmpnam (NULL);
fp = fopen (name, "w");
assert (fp != NULL)
fputs ("bl", fp);
fputs ("bla", fp);
fclose (fp);
fp = NULL;
fp = fopen (name, "r");
assert (fp != NULL)
assert (getc (fp) != EOF);
assert ((c = getc (fp)) != EOF);
assert (fp != NULL);
assert (ungetc ('z', fp) == 'z');
assert (getc (fp) == 'z');
assert (getc (fp) == 'b');
assert (getc (fp) == 'l');
assert (ungetc ('m', fp) == 'm');
assert (getc (fp) == 'm');
assert ((c = getc (fp)) == 'a');
assert (getc (fp) == EOF);
assert (ungetc (c, fp) == c);
assert (feof (fp) == 0);
assert (getc (fp) == c);
assert (getc (fp) == EOF);
the_end:
if (fp != NULL)

View File

@ -1,5 +1,5 @@
/* siginfo_t, sigevent and constants. Stub version.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1998 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
@ -185,7 +185,7 @@ typedef struct sigevent
sigval_t sigev_value;
int sigev_signo;
int sigev_notify;
void (*sigev_notify_function) __P ((sigval_t)); /* Function to start. */
void (*sigev_notify_function) __PMT ((sigval_t)); /* Function to start. */
void *sigev_notify_attributes; /* Really pthread_attr_t.*/
} sigevent_t;

View File

@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Generic version; constants are common.
Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
Copyright (C) 1991, 1992, 1996, 1998 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
@ -119,7 +119,7 @@ enum __ptrace_request
/* Write the floating-point accelerator unit registers from
the contents of the `struct fpa_regs' at ADDR. */
PTRACE_SETFPAREGS,
PTRACE_SETFPAREGS
};
/* Perform process tracing functions. REQUEST is one of the values

View File

@ -7,6 +7,7 @@ kernel_stat.h
kernel_termios.h
ldd-rewrite.sed
lddlibc4.c
linux_fsinfo.h
llseek.c
s_pread64.c
s_pwrite64.c

View File

@ -22,9 +22,7 @@
#include <limits.h>
#include <sys/statfs.h>
#define EXT2_SUPER_MAGIC 0xef53
#define UFS_MAGIC 0x00011954
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
#include <linux_fsinfo.h>
static long int default_fpathconf (int fd, int name);
@ -55,6 +53,46 @@ __fpathconf (fd, name)
/* This filesystem supported files >2GB. */
return 64;
}
if (name == _PC_LINK_MAX)
{
struct statfs fsbuf;
/* Determine the filesystem type. */
if (__fstatfs (fd, &fsbuf) < 0)
/* not possible, return the default value. */
return LINK_MAX;
switch (fsbuf.f_type)
{
case EXT2_SUPER_MAGIC:
return EXT2_LINK_MAX;
case MINIX_SUPER_MAGIC:
case MINIX_SUPER_MAGIC2:
return MINIX_LINK_MAX;
case MINIX2_SUPER_MAGIC:
case MINIX2_SUPER_MAGIC2:
return MINIX2_LINK_MAX;
case XENIX_SUPER_MAGIC:
return XENIX_LINK_MAX;
case SYSV4_SUPER_MAGIC:
case SYSV2_SUPER_MAGIC:
return SYSV_LINK_MAX;
case COH_SUPER_MAGIC:
return COH_LINK_MAX;
case UFS_MAGIC:
case UFS_CIGAM:
return UFS_LINK_MAX;
default:
return LINK_MAX;
}
}
/* Fallback to the generic version. */
return default_fpathconf (fd, name);

View File

@ -23,9 +23,7 @@
#include <fcntl.h>
#include <sys/statfs.h>
#define EXT2_SUPER_MAGIC 0xef53
#define UFS_MAGIC 0x00011954
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
#include <linux_fsinfo.h>
static long int default_pathconf (const char *path, int name);
@ -48,6 +46,46 @@ __pathconf (const char *path, int name)
/* This filesystem supported files >2GB. */
return 64;
}
if (name == _PC_LINK_MAX)
{
struct statfs fsbuf;
/* Determine the filesystem type. */
if (__statfs (fd, &fsbuf) < 0)
/* not possible, return the default value. */
return LINK_MAX;
switch (fsbuf.f_type)
{
case EXT2_SUPER_MAGIC:
return EXT2_LINK_MAX;
case MINIX_SUPER_MAGIC:
case MINIX_SUPER_MAGIC2:
return MINIX_LINK_MAX;
case MINIX2_SUPER_MAGIC:
case MINIX2_SUPER_MAGIC2:
return MINIX2_LINK_MAX;
case XENIX_SUPER_MAGIC:
return XENIX_LINK_MAX;
case SYSV4_SUPER_MAGIC:
case SYSV2_SUPER_MAGIC:
return SYSV_LINK_MAX;
case COH_SUPER_MAGIC:
return COH_LINK_MAX;
case UFS_MAGIC:
case UFS_CIGAM:
return UFS_LINK_MAX;
default:
return LINK_MAX;
}
}
/* Fallback to the generic version. */
return default_pathconf (path, name);

View File

@ -21,6 +21,8 @@
Fortunately 2.0 puts a magic number in the first word and this is not
a legal value for `trap_no', so we can tell them apart. */
#include <asm/ptrace.h>
union k_sigcontext
{
struct

View File

@ -18,7 +18,6 @@
Boston, MA 02111-1307, USA. */
#include <signal.h>
#include <asm/ptrace.h>
#include <bits/armsigctx.h>
void

View File

@ -24,7 +24,7 @@
.type C_SYMBOL_NAME(errno),%object
.size C_SYMBOL_NAME(errno),4
C_SYMBOL_NAME(errno): .zero 4
weak_alias (C_SYMBOL_NAME(errno), C_SYMBOL_NAME(_errno))
weak_alias (errno, _errno)
.text
/* The syscall stubs jump here when they detect an error.

View File

@ -0,0 +1,80 @@
/* Linux specific extensions to fpathconf.
Copyright (C) 1991, 1995, 1996, 1998 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 Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <unistd.h>
#include <limits.h>
#include <sys/statfs.h>
#include "linux_fsinfo.h"
static long int posix_fpathconf (int fd, int name);
/* Get file-specific information about descriptor FD. */
long int
__fpathconf (fd, name)
int fd;
int name;
{
if (name == _PC_LINK_MAX)
{
struct statfs fsbuf;
/* Determine the filesystem type. */
if (__fstatfs (fd, &fsbuf) < 0)
/* not possible, return the default value. */
return LINK_MAX;
switch (fsbuf.f_type)
{
case EXT2_SUPER_MAGIC:
return EXT2_LINK_MAX;
case MINIX_SUPER_MAGIC:
case MINIX_SUPER_MAGIC2:
return MINIX_LINK_MAX;
case MINIX2_SUPER_MAGIC:
case MINIX2_SUPER_MAGIC2:
return MINIX2_LINK_MAX;
case XENIX_SUPER_MAGIC:
return XENIX_LINK_MAX;
case SYSV4_SUPER_MAGIC:
case SYSV2_SUPER_MAGIC:
return SYSV_LINK_MAX;
case COH_SUPER_MAGIC:
return COH_LINK_MAX;
case UFS_MAGIC:
case UFS_CIGAM:
return UFS_LINK_MAX;
default:
return LINK_MAX;
}
}
return posix_fpathconf (fd, name);
}
#define __fpathconf static posix_fpathconf
#include <sysdeps/posix/fpathconf.c>

View File

@ -26,31 +26,7 @@
#include <sys/statfs.h>
#include <sys/statvfs.h>
/* These definitions come from the kernel headers. But we cannot
include the headers here because of type clashes. If new
filesystem types will become available we have to add the
appropriate definitions here.*/
#define ADFS_SUPER_MAGIC 0xadf5
#define AFFS_SUPER_MAGIC 0xadff
#define CODA_SUPER_MAGIC 0x73757245
#define EXT2_SUPER_MAGIC 0xef53
#define HPFS_SUPER_MAGIC 0xf995e849
#define ISOFS_SUPER_MAGIC 0x9660
#define MINIX_SUPER_MAGIC 0x137f
#define MINIX_SUPER_MAGIC2 0x138F
#define MINIX2_SUPER_MAGIC 0x2468
#define MINIX2_SUPER_MAGIC2 0x2478
#define MSDOS_SUPER_MAGIC 0x4d44
#define NCP_SUPER_MAGIC 0x564c
#define NFS_SUPER_MAGIC 0x6969
#define PROC_SUPER_MAGIC 0x9fa0
#define SMB_SUPER_MAGIC 0x517b
#define XENIX_SUPER_MAGIC 0x012ff7b4
#define SYSV4_SUPER_MAGIC 0x012ff7b5
#define SYSV2_SUPER_MAGIC 0x012ff7b6
#define COH_SUPER_MAGIC 0x012ff7b7
#define UFS_MAGIC 0x00011954
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
#include "linux_fsinfo.h"
int

View File

@ -0,0 +1,58 @@
/* Constants from kernel header for various FSes.
Copyright (C) 1998 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 Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _LINUX_FSINFO_H
#define _LINUX_FSINFO_H 1
/* These definitions come from the kernel headers. But we cannot
include the headers here because of type clashes. If new
filesystem types will become available we have to add the
appropriate definitions here.*/
#define ADFS_SUPER_MAGIC 0xadf5
#define AFFS_SUPER_MAGIC 0xadff
#define CODA_SUPER_MAGIC 0x73757245
#define EXT2_SUPER_MAGIC 0xef53
#define HPFS_SUPER_MAGIC 0xf995e849
#define ISOFS_SUPER_MAGIC 0x9660
#define MINIX_SUPER_MAGIC 0x137f
#define MINIX_SUPER_MAGIC2 0x138F
#define MINIX2_SUPER_MAGIC 0x2468
#define MINIX2_SUPER_MAGIC2 0x2478
#define MSDOS_SUPER_MAGIC 0x4d44
#define NCP_SUPER_MAGIC 0x564c
#define NFS_SUPER_MAGIC 0x6969
#define PROC_SUPER_MAGIC 0x9fa0
#define SMB_SUPER_MAGIC 0x517b
#define XENIX_SUPER_MAGIC 0x012ff7b4
#define SYSV4_SUPER_MAGIC 0x012ff7b5
#define SYSV2_SUPER_MAGIC 0x012ff7b6
#define COH_SUPER_MAGIC 0x012ff7b7
#define UFS_MAGIC 0x00011954
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
/* Maximum link counts. */
#define EXT2_LINK_MAX 32000
#define MINIX_LINK_MAX 250
#define MINIX2_LINK_MAX 65530
#define XENIX_LINK_MAX 126 /* ?? */
#define SYSV_LINK_MAX 126 /* 127? 251? */
#define COH_LINK_MAX 10000
#define UFS_LINK_MAX EXT2_LINK_MAX
#endif /* linux_fsinfo.h */

View File

@ -0,0 +1,80 @@
/* Linux specific extensions to pathconf.
Copyright (C) 1991, 1995, 1996, 1998 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 Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <unistd.h>
#include <limits.h>
#include <sys/statfs.h>
#include "linux_fsinfo.h"
static long int posix_pathconf (const char *path, int name);
/* Get file-specific information about descriptor FD. */
long int
__pathconf (path, name)
const char *path;
int name;
{
if (name == _PC_LINK_MAX)
{
struct statfs fsbuf;
/* Determine the filesystem type. */
if (__statfs (path, &fsbuf) < 0)
/* not possible, return the default value. */
return LINK_MAX;
switch (fsbuf.f_type)
{
case EXT2_SUPER_MAGIC:
return EXT2_LINK_MAX;
case MINIX_SUPER_MAGIC:
case MINIX_SUPER_MAGIC2:
return MINIX_LINK_MAX;
case MINIX2_SUPER_MAGIC:
case MINIX2_SUPER_MAGIC2:
return MINIX2_LINK_MAX;
case XENIX_SUPER_MAGIC:
return XENIX_LINK_MAX;
case SYSV4_SUPER_MAGIC:
case SYSV2_SUPER_MAGIC:
return SYSV_LINK_MAX;
case COH_SUPER_MAGIC:
return COH_LINK_MAX;
case UFS_MAGIC:
case UFS_CIGAM:
return UFS_LINK_MAX;
default:
return LINK_MAX;
}
}
return posix_pathconf (path, name);
}
#define __pathconf static posix_pathconf
#include <sysdeps/posix/pathconf.c>

View File

@ -99,7 +99,7 @@ enum __ptrace_request
#define PT_DETACH PTRACE_DETACH
/* Continue and stop at the next (return from) syscall. */
PTRACE_SYSCALL = 24,
PTRACE_SYSCALL = 24
#define PTRACE_SYSCALL PTRACE_SYSCALL
};

View File

@ -1,4 +1,4 @@
/* This file just defines the current version number of libc. */
#define RELEASE "experimental"
#define VERSION "2.0.98"
#define VERSION "2.0.99"