This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Linux: Use AT_FDCWD in utime, utimes when calling utimensat
- From: Florian Weimer <fweimer at redhat dot com>
- To: libc-alpha at sourceware dot org
- Cc: Lukasz Majewski <lukma at denx dot de>, Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- Date: Thu, 05 Mar 2020 13:30:04 +0100
- Subject: Re: [PATCH] Linux: Use AT_FDCWD in utime, utimes when calling utimensat
- References: <87sgin9fqf.fsf@oldenburg2.str.redhat.com>
* Florian Weimer:
> 0 is a valid descriptor without any special meaning.
>
> -----
> sysdeps/unix/sysv/linux/utime.c | 2 +-
> sysdeps/unix/sysv/linux/utimes.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/unix/sysv/linux/utime.c b/sysdeps/unix/sysv/linux/utime.c
> index 2cd9334a6f..6516344adc 100644
> --- a/sysdeps/unix/sysv/linux/utime.c
> +++ b/sysdeps/unix/sysv/linux/utime.c
> @@ -32,7 +32,7 @@ __utime64 (const char *file, const struct __utimbuf64 *times)
> ts64[1].tv_nsec = 0LL;
> }
>
> - return __utimensat64_helper (0, file, times ? ts64 : NULL, 0);
> + return __utimensat64_helper (AT_FDCWD, file, times ? ts64 : NULL, 0);
> }
>
> #if __TIMESIZE != 64
> diff --git a/sysdeps/unix/sysv/linux/utimes.c b/sysdeps/unix/sysv/linux/utimes.c
> index 75927b6ec6..02a5e91415 100644
> --- a/sysdeps/unix/sysv/linux/utimes.c
> +++ b/sysdeps/unix/sysv/linux/utimes.c
> @@ -29,7 +29,7 @@ __utimes64 (const char *file, const struct __timeval64 tvp[2])
> ts64[1] = timeval64_to_timespec64 (tvp[1]);
> }
>
> - return __utimensat64_helper (0, file, tvp ? ts64 : NULL, 0);
> + return __utimensat64_helper (AT_FDCWD, file, tvp ? ts64 : NULL, 0);
> }
>
> #if __TIMESIZE != 64
There's a missing <fcntl.h> in this patch, it should read:
diff --git a/sysdeps/unix/sysv/linux/utime.c b/sysdeps/unix/sysv/linux/utime.c
index 2cd9334a6f..8665ef2636 100644
--- a/sysdeps/unix/sysv/linux/utime.c
+++ b/sysdeps/unix/sysv/linux/utime.c
@@ -18,6 +18,7 @@
#include <utime.h>
#include <time.h>
+#include <fcntl.h>
int
__utime64 (const char *file, const struct __utimbuf64 *times)
@@ -32,7 +33,7 @@ __utime64 (const char *file, const struct __utimbuf64 *times)
ts64[1].tv_nsec = 0LL;
}
- return __utimensat64_helper (0, file, times ? ts64 : NULL, 0);
+ return __utimensat64_helper (AT_FDCWD, file, times ? ts64 : NULL, 0);
}
#if __TIMESIZE != 64
diff --git a/sysdeps/unix/sysv/linux/utimes.c b/sysdeps/unix/sysv/linux/utimes.c
index 75927b6ec6..a6809876fd 100644
--- a/sysdeps/unix/sysv/linux/utimes.c
+++ b/sysdeps/unix/sysv/linux/utimes.c
@@ -17,6 +17,7 @@
<https://www.gnu.org/licenses/>. */
#include <time.h>
+#include <fcntl.h>
int
__utimes64 (const char *file, const struct __timeval64 tvp[2])
@@ -29,7 +30,7 @@ __utimes64 (const char *file, const struct __timeval64 tvp[2])
ts64[1] = timeval64_to_timespec64 (tvp[1]);
}
- return __utimensat64_helper (0, file, tvp ? ts64 : NULL, 0);
+ return __utimensat64_helper (AT_FDCWD, file, tvp ? ts64 : NULL, 0);
}
#if __TIMESIZE != 64
Florian