Update list of public id characters
This commit is contained in:
parent
0a8e3db8c7
commit
e83509516e
@ -1164,6 +1164,11 @@ int PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,
|
|||||||
case BT_QUEST:
|
case BT_QUEST:
|
||||||
case BT_CR:
|
case BT_CR:
|
||||||
case BT_LF:
|
case BT_LF:
|
||||||
|
case BT_SEMI:
|
||||||
|
case BT_EXCL:
|
||||||
|
case BT_AST:
|
||||||
|
case BT_PERCNT:
|
||||||
|
case BT_NUM:
|
||||||
break;
|
break;
|
||||||
case BT_S:
|
case BT_S:
|
||||||
if (CHAR_MATCHES(enc, ptr, '\t')) {
|
if (CHAR_MATCHES(enc, ptr, '\t')) {
|
||||||
@ -1173,13 +1178,19 @@ int PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,
|
|||||||
break;
|
break;
|
||||||
case BT_NAME:
|
case BT_NAME:
|
||||||
case BT_NMSTRT:
|
case BT_NMSTRT:
|
||||||
if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f)
|
if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
|
||||||
&& !CHAR_MATCHES(enc, ptr, '_'))
|
break;
|
||||||
|
default:
|
||||||
|
switch (BYTE_TO_ASCII(enc, ptr)) {
|
||||||
|
case 0x24: /* $ */
|
||||||
|
case 0x40: /* @ */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
*badPtr = ptr;
|
*badPtr = ptr;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user