while(1){
token = getToken(&in);
if(in.type == ENDFILE) break;
-
+
+ if(g_ascii_strcasecmp(token, "<")) in.error(&in,"not a facility file");
+ token = getName(&in);
+ if(g_ascii_strcasecmp(token, "?")) in.error(&in,"not a facility file");
+ token = getName(&in);
+ if(g_ascii_strcasecmp(token, "xml")) in.error(&in,"not a facility file");
+ token = getName(&in);
+ if(g_ascii_strcasecmp(token, "version")) in.error(&in,"not a facility file");
+ token = getName(&in);
+ if(g_ascii_strcasecmp(token, "=")) in.error(&in,"not a facility file");
+ token = getQuotedString(&in);
+ if(g_ascii_strcasecmp(token, "1.0")) in.error(&in,"not a facility file");
+ token = getName(&in);
+ if(g_ascii_strcasecmp(token, "?")) in.error(&in,"not a facility file");
+ token = getToken(&in);
+ if(g_ascii_strcasecmp(token, ">")) in.error(&in,"not a facility file");
+
+ token = getToken(&in);
+
if(g_ascii_strcasecmp(token, "<")) in.error(&in,"not a facility file");
token = getName(&in);
type_descriptor_t *td;
LttType *type;
- field->name = g_quark_from_string(fld->name);
+ if(fld->name)
+ field->name = g_quark_from_string(fld->name);
+ else
+ fld->name = 0;
+
if(fld->description) {
len = strlen(fld->description);
field->description = g_new(gchar, len+1);
type->enum_map = NULL;
type->fields = NULL;
type->fields_by_name = NULL;
+ type->network = td->network;
switch(td->type) {
case INT_FIXED: