+2022-08-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ tempname: merge 64-bit time_t fix from glibc
+ This merges glibc commit 52a5fe70a2c77935afe807fb6e904e512ddd894e
+ "Use 64 bit time_t stat internally".
+ * lib/tempname.c (struct_stat64) [_LIBC]: Use struct __stat64_t64.
+ (__lstat64_time64) [!_LIBC]: Rename from __lstat64.
+ All uses changed.
+ (direxists): Use __stat64_time64 instead of __stat64.
+
2022-08-16 Bruno Haible <bruno@clisp.org>
tempname: Add more tests.
#include <time.h>
#if _LIBC
-# define struct_stat64 struct stat64
+# define struct_stat64 struct __stat64_t64
# define __secure_getenv __libc_secure_getenv
#else
# define struct_stat64 struct stat
# define __gen_tempname gen_tempname
# define __mkdir mkdir
# define __open open
-# define __lstat64(file, buf) lstat (file, buf)
+# define __lstat64_time64(file, buf) lstat (file, buf)
# define __stat64(file, buf) stat (file, buf)
# define __getrandom getrandom
# define __clock_gettime64 clock_gettime
direxists (const char *dir)
{
struct_stat64 buf;
- return __stat64 (dir, &buf) == 0 && S_ISDIR (buf.st_mode);
+ return __stat64_time64 (dir, &buf) == 0 && S_ISDIR (buf.st_mode);
}
/* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is
{
struct_stat64 st;
- if (__lstat64 (tmpl, &st) == 0 || errno == EOVERFLOW)
+ if (__lstat64_time64 (tmpl, &st) == 0 || errno == EOVERFLOW)
__set_errno (EEXIST);
return errno == ENOENT ? 0 : -1;
}