summaryrefslogtreecommitdiff
path: root/strings/xml.c
diff options
context:
space:
mode:
authorunknown <bar@mysql.com/bar.intranet.mysql.r18.ru>2006-07-25 18:46:43 +0500
committerunknown <bar@mysql.com/bar.intranet.mysql.r18.ru>2006-07-25 18:46:43 +0500
commit6530968211e033bde1ee8a9f2d04fdcc8e1097aa (patch)
treea11f580ec6f0a86b1bb2928dddf266337448a607 /strings/xml.c
parent7b2cabd902d3b6c669bd8a0302aaf8b7568cad06 (diff)
downloadmariadb-git-6530968211e033bde1ee8a9f2d04fdcc8e1097aa.tar.gz
Bug#20795: extractvalue() won't accept names containing a dot (.)
Dot character was not considered as a valid identifier body character. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Treat dot character as a valid identifier body part. strings/ctype.c: Fixing to use '/' instead of '.' as a delimiter in charset file parser. strings/xml.c: Fixing to use '/' instead of '.' as a delimiter.
Diffstat (limited to 'strings/xml.c')
-rw-r--r--strings/xml.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/strings/xml.c b/strings/xml.c
index 76fdd07f25e..51649dcb343 100644
--- a/strings/xml.c
+++ b/strings/xml.c
@@ -159,7 +159,7 @@ static int my_xml_enter(MY_XML_PARSER *st, const char *str, uint len)
}
if (st->attrend > st->attr)
{
- st->attrend[0]='.';
+ st->attrend[0]= '/';
st->attrend++;
}
memcpy(st->attrend,str,len);
@@ -188,9 +188,9 @@ static int my_xml_leave(MY_XML_PARSER *p, const char *str, uint slen)
char g[32];
int rc;
- /* Find previous '.' or beginning */
- for( e=p->attrend; (e>p->attr) && (e[0] != '.') ; e--);
- glen = (uint) ((e[0] == '.') ? (p->attrend-e-1) : p->attrend-e);
+ /* Find previous '/' or beginning */
+ for( e=p->attrend; (e>p->attr) && (e[0] != '/') ; e--);
+ glen = (uint) ((e[0] == '/') ? (p->attrend-e-1) : p->attrend-e);
if (str && (slen != glen))
{