- it cannot correctly read the value when the backslash exists in the attribute.
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/trunk@1239
1a406e8e-add9-4483-a2c8-
d8cac5b7c224
for(ii=0;
*sp && (is_white_space(*sp) || is_quote(*sp)) && ii<len;
- ii++, sp++)
- ;
+ ii++, sp++)
+ ;
return (sp - s);
}
size = 0;
if (!novalue) {
- /* ignore space */
+ /*
+ * ignore space
+ */
ii += qs_ignore_sp(doc, &s[ii], len-ii);
+
+ backslash = 0;
for (;ii<len; ii++) {
+ if (s[ii] == '\\') {
+ backslash = 1;
+ break;
+ }
if (s[ii] == '\'' || s[ii] == '"') {
use_quote = 1;
ii++;
}
start_pos = ii;
- /* get attr value */
+ if (backslash && ii + 2 < len)
+ ii+=2;
+
+ backslash = 0;
+ /*
+ * get attr value
+ */
for (;ii<len; ii++) {
if (is_sjis_kanji(s[ii])) {
ii++;
if (! use_quote)
break;
}
+ if (s[ii] == '\\')
+ continue;
+
if (s[ii] == '"')
break;
attr = qs_new_attr(doc);
attr->name = name;
attr->value = value;
+
QX_LOGGER_DEBUG(attr->name);
QX_LOGGER_DEBUG(attr->value);