Re: Problem with add_exclude_file()

2021-05-24 Thread Paul Eggert
On 5/24/21 8:15 AM, Bruno Haible wrote: It is supposed to be set through the line gl_MODULE_INDICATOR([fopen-gnu]) in the module description. Yes, and that works with me with current diffutils (commit caf365bc32a0b416f1dd33e13bda5b45cc1df9a6), built on Ubuntu 20.10: src/config.h contains t

Re: Problem with add_exclude_file()

2021-05-24 Thread Bruno Haible
Gisle Vanem wrote: > BY preprocessing 'fopen.c', I see the 'rpl_fopen()' > in my case is rather short. Since 'GNULIB_FOPEN_GNU' > seems *not* to be defined, it passes mode to > 'orig_fopen()' with "re" intact. Hence the EINVAL. This means that apparently the gnulib module 'fopen-gnu' is not includ

Re: Problem with add_exclude_file()

2021-05-24 Thread Gisle Vanem
Bruno Haible wrote: The 'e' modifier to fopen() has the effect of adding an O_CLOEXEC to the underlying open() call. BY preprocessing 'fopen.c', I see the 'rpl_fopen()' in my case is rather short. Since 'GNULIB_FOPEN_GNU' seems *not* to be defined, it passes mode to 'orig_fopen()' with "re" in

Re: Problem with add_exclude_file()

2021-05-24 Thread Bruno Haible
Hi, Gisle Vanem wrote: > So I patched 'exclude.c' like this: > --- a/lib/exclude.c 2021-03-17 21:03:14 > +++ b/lib/exclude.c 2021-05-24 13:33:05 > @@ -683,7 +683,7 @@ > > if (use_stdin) > in = stdin; > - else if (! (in = fopen (file_name, "re"))) > + else if (! (in = fopen (file_name,

Re: Problem with add_exclude_file()

2021-05-24 Thread Jeffrey Walton
On Mon, May 24, 2021 at 7:39 AM Gisle Vanem wrote: > ... > So I patched 'exclude.c' like this: > --- a/lib/exclude.c 2021-03-17 21:03:14 > +++ b/lib/exclude.c 2021-05-24 13:33:05 > @@ -683,7 +683,7 @@ > > if (use_stdin) > in = stdin; > - else if (! (in = fopen (file_name, "re"))) > + e

Problem with add_exclude_file()

2021-05-24 Thread Gisle Vanem
I have an issue with GNU-diff which uses this Gnulib function 'add_exclude_file()'. A command like: diff -X exclude new old > x.diff or diff --exclude-from=exclude new old > x.diff Adding some trace in 'diff.c', I see that 'add_exclude_file()' returns -1 and 'errno = 22' (EINVAL). But this