diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-11-19 17:22:39 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-11-19 17:22:39 +0000 |
commit | eac10791463c42ff4f6da20f548c046e300b3d6d (patch) | |
tree | 8061d956005bb5cee17eabe4d6473f1a1039b6fb /sysdeps/unix/sysv/linux/futimesat.c | |
parent | 74ac0a89d27d1bff7238ecb14dd0a5009c2f479b (diff) | |
download | glibc-eac10791463c42ff4f6da20f548c046e300b3d6d.tar.gz glibc-eac10791463c42ff4f6da20f548c046e300b3d6d.tar.xz glibc-eac10791463c42ff4f6da20f548c046e300b3d6d.zip |
* sysdeps/unix/sysv/linux/ia64/bits/shm.h (shmatt_t): New type. cvs/fedora-glibc-20051119T1959
(struct shmid_ds): Use it for shm_nattch field. 2005-11-18 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/futimesat.c (futimesat): If FILE is NULL, set access and modification times of the file referenced by FD. * sysdeps/generic/futimesat.c (futimesat): Don't return EINVAL if FILE is NULL. Don't check FD if FILE is absolute path. 2005-11-19 Ulrich Drepper <drepper@redhat.com> * nscd/nscd_gethst_r.c (nscd_gethst_r): Avoid unnecesary read call if there are no aliases. * sysdeps/unix/sysv/linux/Makefile (CFLAGS-connections.c, CFLAGS-pwdcache.c, CFLAGS-grpcache.c, CFLAGS-hstcache.c, CFLAGS-aicache.c, CFLAGS-initgrcache.c): Add -DHAVE_SENDFILE. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SENDFILE): Define. * nscd/pwdcache.c [HAVE_SENDFILE]: Include <sys/sendfile.h> and <kernel-features.h>. [HAVE_SENDFILE] (cache_addpw): Use sendfile to transmit positive result. * nscd/grpcache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/aicache.c: Likewise. * nscd/initgrcache.c: Likewise. * nscd/connectionc.c: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/futimesat.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/futimesat.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futimesat.c index 7ab0477c5e..8a87cc442b 100644 --- a/sysdeps/unix/sysv/linux/futimesat.c +++ b/sysdeps/unix/sysv/linux/futimesat.c @@ -37,7 +37,22 @@ futimesat (fd, file, tvp) { char *buf = NULL; - if (fd != AT_FDCWD && file[0] != '/') + if (file == NULL) + { + static const char procfd[] = "/proc/self/fd/%d"; + /* Buffer for the path name we are going to use. It consists of + - the string /proc/self/fd/ + - the file descriptor number. + The final NUL is included in the sizeof. A bit of overhead + due to the format elements compensates for possible negative + numbers. */ + size_t buflen = sizeof (procfd) + sizeof (int) * 3; + buf = alloca (buflen); + + __snprintf (buf, buflen, procfd, fd); + file = buf; + } + else if (fd != AT_FDCWD && file[0] != '/') { size_t filelen = strlen (file); static const char procfd[] = "/proc/self/fd/%d/%s"; |