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);