CVSROOT: /sources/m4
Module name: m4
Branch: branch-1_4
Changes by: Eric Blake <ericb> 06/08/18 16:28:22
Modified files:
. : ChangeLog NEWS
src : builtin.c input.c
Log message:
Regular expressions were leaking memory.
* src/builtin.c (init_pattern_buffer, free_pattern_buffer): New
helper methods.
(m4_regexp, m4_patsubst): Avoid memory leak.
* src/input.c (init_pattern_buffer) [ENABLE_CHANGEWORD]: Make
static.
(set_word_regexp) [ENABLE_CHANGEWORD]: Avoid memory leak. Change
from O(n^2) to O(n) for calculating word_start.
(next_token, peek_token) [ENABLE_CHANGEWORD]: Treat word_start as
O(1) bitmap, not O(n) search string.
* NEWS: Document this fix.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/m4/ChangeLog?cvsroot=m4&only_with_tag=branch-1_4&r1=1.1.1.1.2.159&r2=1.1.1.1.2.160
http://cvs.savannah.gnu.org/viewcvs/m4/NEWS?cvsroot=m4&only_with_tag=branch-1_4&r1=1.1.1.1.2.53&r2=1.1.1.1.2.54
http://cvs.savannah.gnu.org/viewcvs/m4/src/builtin.c?cvsroot=m4&only_with_tag=branch-1_4&r1=1.1.1.1.2.34&r2=1.1.1.1.2.35
http://cvs.savannah.gnu.org/viewcvs/m4/src/input.c?cvsroot=m4&only_with_tag=branch-1_4&r1=1.1.1.1.2.19&r2=1.1.1.1.2.20