summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
Diffstat (limited to 'mysys')
-rw-r--r--mysys/default.c6
1 files 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;
}