Re: bug#40634: Massive pattern list handling with -E format seems very slow since 2.28.

2020-09-13 Thread Paul Eggert
On 9/11/20 11:41 PM, Jim Meyering wrote: https://bugs.gnu.org/40634#32 I'll try to take a look at the later patch. Oh! Glad you spotted that. I took a look and the basic idea sounds good though I admit I did not check every detail. While looking into it I found some opportunities for impro

[PATCH 3/3] dfa: avoid use of uninitialized constraint

2020-09-13 Thread Paul Eggert
* lib/dfa.c (merge_nfa_state): Do not initialize the constraint to zero here. (dfaoptimize): Do it here instead, via xcalloc. This prevents the use of an uninitialized constraint by later code when ! (flags[i] & OPT_QUEUED) means merge_nfa_state was not called to initialize the constraint. Proble

[PATCH 2/3] dfa: assume C99 in reorder_tokens

2020-09-13 Thread Paul Eggert
* lib/dfa.c (reorder_tokens): Assume C99 and simplify. --- ChangeLog | 3 +++ lib/dfa.c | 32 ++-- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1b5720761..5f7a148e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@

[PATCH 1/3] dfa: fix dfa-heap-overrun failure

2020-09-13 Thread Paul Eggert
* lib/dfa.c (reorder_tokens): When setting map[d->follows[i].elems[j].index], instead of incorrectly assuming that (i < d->follows[i].elems[j].index), use two loops, one to set the map array and the other to use it. The incorrect assumption caused some elements to be missed, and this in turn cause

[PATCH] reloc-ldflags: Fix handling of multiple relocatable library directories.

2020-09-13 Thread Ben Pfaff
Each one needs its own -Wl,-rpath,$dir option, instead of being attached to a single one in some way. Otherwise, the build fails at link time. --- 2020-09-13 Ben Pfaff * build-aux/reloc-ldflags: Fix handling of multiple relocatable library directories. Each one needs its own -

Re: recent gnulib has problems with read, write and close within structs

2020-09-13 Thread Joël Krähemann
thank you. On Sun, Sep 13, 2020 at 11:11 PM Bruno Haible wrote: > > Hi Joël, > > > Because recent gnulib has problems with read, write and close as > > struct fields. I am still using: > > > > gnulib$ git log > > commit 2d431ac35c4943a3655c07ba91870d2323321b43 (HEAD -> master, > > origin/master,

Re: recent gnulib has problems with read, write and close within structs

2020-09-13 Thread Bruno Haible
Hi Joël, > Because recent gnulib has problems with read, write and close as > struct fields. I am still using: > > gnulib$ git log > commit 2d431ac35c4943a3655c07ba91870d2323321b43 (HEAD -> master, > origin/master, origin/HEAD) > > Here is my code: > > https://git.savannah.nongnu.org/cgit/gsequ

Re: parse-datetime: Fix compilation error with bison 3.7

2020-09-13 Thread Bruno Haible
Hi Daiki, > One thing I noticed though is that > parse-datetime-gen.h has no dependency declaration and fails to build > with parallel make: > > make[2]: *** No rule to make target 'parse-datetime-gen.h', needed by > 'all'. Stop. > make[2]: *** Waiting for unfinished jobs > YACC

Re: [PATCH] getpass: Do not check for nonnull prompt argument in Win32 implementation.

2020-09-13 Thread Ben Pfaff
On Sun, Sep 13, 2020 at 09:05:32PM +0200, Bruno Haible wrote: > > 2020-09-12 Ben Pfaff > > > > Check for nonnull prompt argument while avoiding warnings. > > * lib/getpass.c (_GL_ARG_NONNULL): Define to empty. > > (getpass) [!_WIN32]: Print prompt only if nonnull. > > Looks good. A

Re: [PATCH] getpass: Do not check for nonnull prompt argument in Win32 implementation.

2020-09-13 Thread Bruno Haible
Hi Ben, > * The POSIX implementation in gnulib passes the prompt to fputs() > without checking for null. I guess we should fix it. Yes. This bit of added robustness doesn't cost much (neither in terms of source code and maintenance, nor in terms of generated code). > From: Ben Pfaff > Da

Re: [PATCH] getpass: Do not check for nonnull prompt argument in Win32 implementation.

2020-09-13 Thread Ben Pfaff
On Sun, Sep 13, 2020 at 10:32:27AM +0200, Bruno Haible wrote: > > The prompt parameter to getpass() is declared as nonnull (using a GCC > > nonnull attribute), but the implementation checks whether it is null in > > two places. GCC warns about this. This commit removes the checks > > GCC warning

Re: [PATCH] tmpdir.c (path_search_alloc): New function.

2020-09-13 Thread Bruno Haible
Hi John, > > +/* Like path_search, except that TMPL is allocated automatically. > > + TMPL may not be null. *TMPL must be freed by the caller, when no > longer needed. > > + After calling this function *TMPL_LEN will be set to the lenght of > *TMPL. */ > > +extern int p

recent gnulib has problems with read, write and close within structs

2020-09-13 Thread Joël Krähemann
Hi, Because recent gnulib has problems with read, write and close as struct fields. I am still using: gnulib$ git log commit 2d431ac35c4943a3655c07ba91870d2323321b43 (HEAD -> master, origin/master, origin/HEAD) Here is my code: https://git.savannah.nongnu.org/cgit/gsequencer.git/tree/ags/object

Re: [PATCH] tmpdir.c (path_search_alloc): New function.

2020-09-13 Thread John Darrington
On Sun, Sep 13, 2020 at 01:12:28PM +0200, Bruno Haible wrote: Hi John, As this is your first major contribution to Gnulib, can you please make sure you have signed a copyright assignment with the FSF regarding 'GNULIB'? Yes, I have. > * lib/tmpdir.c (path_search_a

Re: [PATCH] tmpdir.c (path_search_alloc): New function.

2020-09-13 Thread Bruno Haible
Hi John, As this is your first major contribution to Gnulib, can you please make sure you have signed a copyright assignment with the FSF regarding 'GNULIB'? > * lib/tmpdir.c (path_search_alloc): Define new function similar to > path_search, but which allocates the buffer for the result instead

[PATCH] tmpdir.c (path_search_alloc): New function.

2020-09-13 Thread John Darrington
* lib/tmpdir.c (path_search_alloc): Define new function similar to path_search, but which allocates the buffer for the result instead of relying on the caller to preallocate it. *lib/tmpdir.h (path_search_alloc): Declare it. --- lib/tmpdir.c | 127 +++--

Re: [PATCH] getpass: Do not check for nonnull prompt argument in Win32 implementation.

2020-09-13 Thread Bruno Haible
Hi Ben, > The prompt parameter to getpass() is declared as nonnull (using a GCC > nonnull attribute), but the implementation checks whether it is null in > two places. GCC warns about this. This commit removes the checks GCC warnings ought to help us make the code more robust. Removing the NULL