mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-14 07:10:05 +00:00
(read_input_file): Handle more than one slash at end of line correctly.
This commit is contained in:
parent
98e01611ca
commit
b431f8541f
@ -325,15 +325,29 @@ read_input_file (struct catalog *current, const char *fname)
|
||||
++line_number;
|
||||
|
||||
/* It the line continued? */
|
||||
continued = 0;
|
||||
if (buf[act_len - 1] == '\n')
|
||||
{
|
||||
--act_len;
|
||||
continued = buf[act_len - 1] == '\\';
|
||||
|
||||
/* There might be more than one backslash at the end of
|
||||
the line. Only if there is an odd number of them is
|
||||
the line continued. */
|
||||
if (buf[act_len - 1] == '\\')
|
||||
{
|
||||
int temp_act_len = act_len;
|
||||
|
||||
do
|
||||
{
|
||||
--temp_act_len;
|
||||
continued = !continued;
|
||||
}
|
||||
while (temp_act_len > 0 && buf[temp_act_len - 1] == '\\');
|
||||
}
|
||||
|
||||
if (continued)
|
||||
--act_len;
|
||||
}
|
||||
else
|
||||
continued = 0;
|
||||
|
||||
/* Append to currently selected line. */
|
||||
obstack_grow (¤t->mem_pool, buf, act_len);
|
||||
|
Loading…
Reference in New Issue
Block a user