Fix stupid wrong-pointer error handling target vars containing semicolons.

Fixes Savannah bug #36106.
This commit is contained in:
Paul Smith 2012-09-09 21:31:20 +00:00
parent bc578b6c8e
commit 8a0d46468a
2 changed files with 4 additions and 2 deletions

View File

@ -3,6 +3,8 @@
* read.c (eval): If we detect an initial UTF-8 BOM, skip it. * read.c (eval): If we detect an initial UTF-8 BOM, skip it.
Fixes Savannah bug #36529. Fixes Savannah bug #36529.
(record_target_var): Remove unused variable "fname". (record_target_var): Remove unused variable "fname".
(eval): Use the correct pointer when adding to the variable buffer.
Fixes Savannah bug #36106.
2012-09-09 Eli Zaretskii <eliz@gnu.org> 2012-09-09 Eli Zaretskii <eliz@gnu.org>

4
read.c
View File

@ -1078,12 +1078,12 @@ eval (struct ebuffer *ebuf, int set_default)
after it. */ after it. */
if (semip) if (semip)
{ {
unsigned int l = p - variable_buffer; unsigned int l = p2 - variable_buffer;
*(--semip) = ';'; *(--semip) = ';';
collapse_continuations (semip); collapse_continuations (semip);
variable_buffer_output (p2 + strlen (p2), variable_buffer_output (p2 + strlen (p2),
semip, strlen (semip)+1); semip, strlen (semip)+1);
p = variable_buffer + l; p2 = variable_buffer + l;
} }
record_target_var (filenames, p2, record_target_var (filenames, p2,
vmod.override_v ? o_override : o_file, vmod.override_v ? o_override : o_file,