Commit 8ca8e0ef authored by v0-e's avatar v0-e

Default class syntax add check

parent c54d9467
...@@ -298,8 +298,6 @@ asn1f_parse_class_object(arg_t *arg) { ...@@ -298,8 +298,6 @@ asn1f_parse_class_object(arg_t *arg) {
#define SKIPSPACES \ #define SKIPSPACES \
for(; buf < bend && isspace(*buf); buf++) for(; buf < bend && isspace(*buf); buf++)
#define SKIPSPACES_AND_COMMA \
for(; buf < bend && (isspace(*buf) || *buf==','); buf++)
static int static int
_asn1f_parse_class_object_data_default_syntx(arg_t *arg, asn1p_expr_t *eclass, _asn1f_parse_class_object_data_default_syntx(arg_t *arg, asn1p_expr_t *eclass,
...@@ -317,6 +315,10 @@ _asn1f_parse_class_object_data_default_syntx(arg_t *arg, asn1p_expr_t *eclass, ...@@ -317,6 +315,10 @@ _asn1f_parse_class_object_data_default_syntx(arg_t *arg, asn1p_expr_t *eclass,
asn1p_expr_t* cm; asn1p_expr_t* cm;
SKIPSPACES; SKIPSPACES;
for (; buf < bend; ++buf) { for (; buf < bend; ++buf) {
/* find possible literal PrimitiveFieldName */
if(*buf != '&') {
continue;
}
TQ_FOR(cm, &(eclass->members), next) { TQ_FOR(cm, &(eclass->members), next) {
/* PrimitiveFieldName */ /* PrimitiveFieldName */
int id_len = strlen(cm->Identifier); int id_len = strlen(cm->Identifier);
...@@ -344,7 +346,7 @@ _asn1f_parse_class_object_data_default_syntx(arg_t *arg, asn1p_expr_t *eclass, ...@@ -344,7 +346,7 @@ _asn1f_parse_class_object_data_default_syntx(arg_t *arg, asn1p_expr_t *eclass,
ret = _asn1f_assign_cell_value(arg, cell, buf, p, counter); ret = _asn1f_assign_cell_value(arg, cell, buf, p, counter);
if(ret) return ret; if(ret) return ret;
buf = p; buf = p;
SKIPSPACES_AND_COMMA; SKIPSPACES;
if(newpos) *newpos = buf; if(newpos) *newpos = buf;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment