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.
Fixes Savannah bug #36529.
(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>

4
read.c
View file

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