relaxed XER processing rules for whitespace
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@769 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/xer_support.c b/skeletons/xer_support.c
index b2f542c..21c92b0 100644
--- a/skeletons/xer_support.c
+++ b/skeletons/xer_support.c
@@ -58,6 +58,7 @@
#define LANGLE 0x3c /* '<' */
#define CEQUAL 0x3d /* '=' */
#define RANGLE 0x3e /* '>' */
+#define CQUEST 0x3f /* '?' */
/* Invoke token callback */
#define TOKEN_CB_CALL(type, _ns, _current_too, _final) do { \
@@ -88,14 +89,14 @@
/*
* Parser itself
*/
-ssize_t pxml_parse(int *stateContext, void *xmlbuf, size_t size, pxml_callback_f *cb, void *key) {
+ssize_t pxml_parse(int *stateContext, const void *xmlbuf, size_t size, pxml_callback_f *cb, void *key) {
pstate_e state = (pstate_e)*stateContext;
- char *chunk_start = (char *)xmlbuf;
- char *p = chunk_start;
- char *end = p + size;
+ const char *chunk_start = (const char *)xmlbuf;
+ const char *p = chunk_start;
+ const char *end = p + size;
for(; p < end; p++) {
- int C = *(unsigned char *)p;
+ int C = *(const unsigned char *)p;
switch(state) {
case ST_TEXT:
/*
@@ -229,6 +230,6 @@
finish:
*stateContext = (int)state;
- return chunk_start - (char *)xmlbuf;
+ return chunk_start - (const char *)xmlbuf;
}