[augeas-devel] [PATCH 2 of 5] Escape label strings when creating the key regexp for them
David Lutterkort
dlutter at redhat.com
Fri May 23 17:23:32 UTC 2008
1 file changed, 12 insertions(+), 1 deletion(-)
src/lens.c | 13 ++++++++++++-
# HG changeset patch
# User David Lutterkort <dlutter at redhat.com>
# Date 1211562967 25200
# Node ID 4a53de92ffb310d3b6d95d57d8e1b50060847b9b
# Parent ab1c134964d93741daf8b60cb03b0334431c2376
Escape label strings when creating the key regexp for them
diff -r ab1c134964d9 -r 4a53de92ffb3 src/lens.c
--- a/src/lens.c Fri May 23 10:16:05 2008 -0700
+++ b/src/lens.c Fri May 23 10:16:07 2008 -0700
@@ -21,6 +21,7 @@
*/
#include "lens.h"
+#include "memory.h"
static struct regexp *regexp_digits = NULL;
@@ -477,7 +478,17 @@ static struct regexp *lns_key_regexp(str
case L_KEY:
return make_key_regexp(l->info, l->regexp->pattern->str);
case L_LABEL:
- return make_key_regexp(l->info, l->string->str);
+ {
+ struct regexp *r = make_regexp_literal(l->info, l->string->str);
+ if (r == NULL)
+ return NULL;
+ if (REALLOC_N(r->pattern->str, strlen(r->pattern->str) + 2) == -1) {
+ unref(r, regexp);
+ return NULL;
+ }
+ strcat((char *) r->pattern->str, "/");
+ return r;
+ }
case L_CONCAT:
{
struct regexp *k = NULL;
More information about the augeas-devel
mailing list