From 8215fbe957ffbcd3eae76aaa605b05407c5ea479 Mon Sep 17 00:00:00 2001 From: "bell@sanja.is.com.ua" <> Date: Sat, 20 Mar 2004 23:50:04 +0200 Subject: [PATCH] fixed config parser to recognize correctly strings like following: test="\"#no comment here"#real comment --- mysys/default.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mysys/default.c b/mysys/default.c index 3c9f9c823a1..e79b598101d 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -449,11 +449,12 @@ static int search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc, static char *remove_end_comment(char *ptr) { - char quote= 0; + char quote= 0; /* we are inside quote marks */ + char escape= 0; /* symbol is protected by escape chagacter */ for (; *ptr; ptr++) { - if (*ptr == '\'' || *ptr == '\"') + if ((*ptr == '\'' || *ptr == '\"') && !escape) { if (!quote) quote= *ptr; @@ -465,6 +466,7 @@ static char *remove_end_comment(char *ptr) *ptr= 0; return ptr; } + escape= (quote && *ptr == '\\' && !escape); } return ptr; }