Stage 29a: Process dnl and macro names by buffer, not bytes.
commit0e14ae3e78f06cefeabb61ca23ddbdf00afc2a00
authorEric Blake <ebb9@byu.net>
Fri, 13 Feb 2009 14:10:36 +0000 (13 07:10 -0700)
committerEric Blake <ebb9@byu.net>
Mon, 16 Feb 2009 17:20:53 +0000 (16 10:20 -0700)
treef77f009300129dc14b5e04a8869c6acdb50378c1
parent267f56e7699f2e506cc977fc4c96b4dea6626fd4
Stage 29a: Process dnl and macro names by buffer, not bytes.

* ltdl/m4/gnulib-cache.m4: Import freadptr and freadseek modules.
* m4/input.c (struct input_funcs): Add virtual functions
buffer_func and consume_func.
(file_buffer, file_consume, string_buffer, string_consume)
(composite_buffer, composite_consume, eof_buffer): Implement
them.
(file_funcs, string_funcs, composite_funcs, eof_funcs): Update
vtables accordingly.
(buffer_retry): New sentinel.
(next_buffer, consume_buffer): New functions.
(m4_skip_line, match_input, consume_syntax): Use them for faster
parsing.
Suggested by Bruno Haible.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
ltdl/m4/gnulib-cache.m4
m4/input.c