projects
/
pspp
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d3edff3
)
Fix typo in previous change; it mishandled the case when line_end was
author
Paul Eggert
<eggert@cs.ucla.edu>
Wed, 13 Aug 2003 23:44:25 +0000
(23:44 +0000)
committer
Paul Eggert
<eggert@cs.ucla.edu>
Wed, 13 Aug 2003 23:44:25 +0000
(23:44 +0000)
neither a space nor NUL.
lib/exclude.c
patch
|
blob
|
history
diff --git
a/lib/exclude.c
b/lib/exclude.c
index ffe136f871fdf199da704aa3e965d782d65f2ced..7c038b23e4075727991ba4b08dac913959a8466a 100644
(file)
--- a/
lib/exclude.c
+++ b/
lib/exclude.c
@@
-267,21
+267,25
@@
add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
e = errno;
buf = xrealloc (buf, buf_count + 1);
e = errno;
buf = xrealloc (buf, buf_count + 1);
+ buf[buf_count] = line_end;
+ lim = buf + buf_count + ! (buf_count == 0 || buf[buf_count - 1] == line_end);
+ pattern = buf;
- for (p
attern = p = buf, lim = buf + buf_count; p <= lim;
p++)
- if (
p < lim ? *p == line_end : buf < p && p[-1]
)
+ for (p
= buf; p < lim;
p++)
+ if (
*p == line_end
)
{
{
+ char *pattern_end = p;
+
if (is_space (line_end))
{
if (is_space (line_end))
{
- char *pattern_end = p;
for (; ; pattern_end--)
if (pattern_end == pattern)
goto next_pattern;
else if (! is_space (pattern_end[-1]))
break;
for (; ; pattern_end--)
if (pattern_end == pattern)
goto next_pattern;
else if (! is_space (pattern_end[-1]))
break;
- *pattern_end = '\0';
}
}
+ *pattern_end = '\0';
(*add_func) (ex, pattern, options);
next_pattern:
(*add_func) (ex, pattern, options);
next_pattern: