[PATCH] backupfile: new function to validate backup suffix

2017-07-30 Thread Paul Eggert
* lib/backupfile.c (set_simple_backup_suffix): New function. Also, reject suffixes containing "/". (backupfile_internal): Use it. --- ChangeLog| 4 lib/backupfile.c | 19 +++ lib/backupfile.h | 1 + 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Chan

Re: [PATCH] Don't interpret EOVERFLOW to mean nonexistence

2017-07-30 Thread Paul Eggert
Thanks, fixed with the attached. >From b2a1529ee656ed12c0420b6293c8f284821403ba Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 30 Jul 2017 15:38:56 -0700 Subject: [PATCH] canonicalize: fix EOVERFLOW commentary Problem reported by Bruno Haible in: http://lists.gnu.org/archive/html/bug-gnul

Re: [PATCH] Don't interpret EOVERFLOW to mean nonexistence

2017-07-30 Thread Bruno Haible
Hi Paul, > --- a/lib/canonicalize-lgpl.c > +++ b/lib/canonicalize-lgpl.c > @@ -270,6 +270,8 @@ __realpath (const char *name, char *resolved) > #endif >*dest = '\0'; > > + /* FIXME: if lstat fails with errno == EOVERFILE, Spelling: This should read EOVERFLOW. And the same

[PATCH] Don't interpret EOVERFLOW to mean nonexistence

2017-07-30 Thread Paul Eggert
* lib/fts.c (fts_stat): If lstat fails, report its errno, which may be EOVERFLOW; this is likely more useful than reporting the stat errno. * lib/glob.c (link_stat): Rename from link_exists2_p and return -1/0 instead of 0/1. Caller changed. * lib/glob.c (link_exists_p): * lib/renameat2.c (rename_n

[PATCH 1/3] fts-tests: port to gcc -Wwrite-strings

2017-07-30 Thread Paul Eggert
* tests/test-fts.c (base, base_d): New static vars. (argv, remove_tree, main): Use them. --- ChangeLog| 6 ++ tests/test-fts.c | 22 -- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index bac0c1a..5eee4ae 100644 --- a/Change

[PATCH 2/3] renameat2: port better to older Solaris

2017-07-30 Thread Paul Eggert
* lib/renameat2.c (renameat2): Set ret_val properly on old Solaris. Add goto to use a label, to silence picky compilers. --- ChangeLog | 4 lib/renameat2.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5eee4ae..ce7c46b 100644 --- a/ChangeLog +++ b/Ch

[PATCH 3/3] backup-rename: new module

2017-07-30 Thread Paul Eggert
It is like backupfile, except it avoids some race conditions, and it does not output to stderr or exit. * MODULES.html.sh: Add backup-rename. * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c: * modules/backup-rename: New files. * lib/backupfile.c: Turn this into an internals file, wh

Re: gmtime_r/localtime_r hang in macOS 10.6

2017-07-30 Thread Charles A. Roelli
Thank you. I've used the attached program to find the exact range of bad values: -67768038400752000 to -67768038400665600 (low to high) (decode-time -67768038400752001) ; (- low 1) (59 59 23 31 12 -2147481679 6 nil 0) (decode-time -67768038400665599) ; (+ high 1) (1 0 0 1 1 -2147481678 1 nil 0

Re: gmtime_r/localtime_r hang in macOS 10.6

2017-07-30 Thread Paul Eggert
Charles A. Roelli wrote: Could we put a workaround for these "bad" values of time_t in gnulib for this version of macOS? Yes, we could. I started to write that, but it wasn't trivial. Eventually I hope to get around to it.

gmtime_r/localtime_r hang in macOS 10.6

2017-07-30 Thread Charles A. Roelli
The attached test program (time_test.c) enters an infinite loop when run under macOS 10.6. (compiled with: gcc -g3 time_test.c -o time_test.bin run with: ./time_test.bin) The localtime_r call has this backtrace: (gdb) bt #0 0x7fff83860ad3 in timesub () from /usr/lib/libSystem.B.dylib #1

Re: Relocatable: relocate2

2017-07-30 Thread Bruno Haible
Hi Reuben, > I noticed relocate2 recently. Unfortunately, it's rather awkward to use, as > it requires one to keep track of two pointers. The idiom is: char *allocated; const char *rel_pathname = relocate2 (..., &allocated); ... free (allocated); This is the mini

Re: [PATCH] Improvements to relocatable

2017-07-30 Thread Bruno Haible
Hi Reuben, Thanks for the work on this! > > Patch 1 makes the default license in the files GPL, to avoid confusion; > > Bruno agreed to this: http://lists.gnu.org/archive/html/bug-gnulib/2017- > > 04/msg00013.html Applied with modification: there was still one occurrence of the word 'Lesser' lef

host-cpu-c-abi: detect ILP32 ABI on IA-64

2017-07-30 Thread Bruno Haible
The ILP32 ABI on IA-64 is like the x32 ABI on x86_64, or the n32 ABI on mips64. It exists only on HP-UX. 2017-07-30 Bruno Haible host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX. * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32 from ia64. For arm64, te