diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-10-23 13:44:50 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-10-23 13:44:50 +0000 |
commit | 24f25de65657d7ac9ccec63447efbe415110435b (patch) | |
tree | 3a34a92cc12e9a07636c4a074d86f1a674a2d019 /sysdeps/unix/sysv/linux/alpha | |
parent | d6787ff2579c3ffa48219027498ed8aca3e19fc4 (diff) | |
download | glibc-24f25de65657d7ac9ccec63447efbe415110435b.tar.gz glibc-24f25de65657d7ac9ccec63447efbe415110435b.tar.xz glibc-24f25de65657d7ac9ccec63447efbe415110435b.zip |
Update.
* 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>
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/fpathconf.c | 44 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/pathconf.c | 44 |
2 files changed, 82 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/fpathconf.c b/sysdeps/unix/sysv/linux/alpha/fpathconf.c index d8c428dcda..b822daaf39 100644 --- a/sysdeps/unix/sysv/linux/alpha/fpathconf.c +++ b/sysdeps/unix/sysv/linux/alpha/fpathconf.c @@ -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); diff --git a/sysdeps/unix/sysv/linux/alpha/pathconf.c b/sysdeps/unix/sysv/linux/alpha/pathconf.c index 91ca0942fb..15910be9a1 100644 --- a/sysdeps/unix/sysv/linux/alpha/pathconf.c +++ b/sysdeps/unix/sysv/linux/alpha/pathconf.c @@ -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); |