Gitweb:
http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=a17bd080ed1823650a64d20b36d6ac1b1a1b1984
Commit: a17bd080ed1823650a64d20b36d6ac1b1a1b1984
Parent: 31b606df30249b82bc9cd2c02a3298d20ab79947
Author: David Lutterkort <[email protected]>
AuthorDate: Wed Oct 21 15:22:16 2009 +0200
Committer: David Lutterkort <[email protected]>
CommitterDate: Wed Oct 21 15:22:16 2009 +0200
* src/regexp.c (regexp_union_n): insert '|' after the first non-NULL regexp
We can not blindly insert a '|' after the first passed-in regexp since that
(and any number of regexps at the beginning) might be NULL. We only insert
'|' after actually copying a regexp into the result.
---
src/regexp.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/regexp.c b/src/regexp.c
index 7286a5b..47bfa3e 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -151,14 +151,16 @@ regexp_union_n(struct info *info, int n, struct regexp
**r) {
return NULL;
p = pat;
+ int added = 0;
for (int i=0; i < n; i++) {
if (r[i] == NULL)
continue;
- if (i > 0)
+ if (added > 0)
*p++ = '|';
*p++ = '(';
p = stpcpy(p, r[i]->pattern->str);
*p++ = ')';
+ added += 1;
}
return make_regexp(info, pat);
}
_______________________________________________
augeas-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/augeas-devel