X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ffacility.c;h=619a4bab3b9f1e45d6b34d901ab9e90b154c96d6;hb=d5824ed005762c6c3b51b556729eed8108d204aa;hp=1e49b8d28b8f2eacd30d0de650e3c763391de233;hpb=743e50fd0105daeea4804d68989965399bf3a4d3;p=lttv.git diff --git a/ltt/branches/poly/ltt/facility.c b/ltt/branches/poly/ltt/facility.c index 1e49b8d2..619a4bab 100644 --- a/ltt/branches/poly/ltt/facility.c +++ b/ltt/branches/poly/ltt/facility.c @@ -2,19 +2,19 @@ * Copyright (C) 2003-2004 Xiangxiu Yang * 2005 Mathieu Desnoyers * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License Version 2 as - * published by the Free Software Foundation; + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License Version 2.1 as published by the Free Software Foundation. * - * This program is distributed in the hope that it will be useful, + * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. */ #ifdef HAVE_CONFIG_H @@ -102,7 +102,25 @@ int ltt_facility_open(LttFacility *f, LttTrace * t, gchar * pathname) 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); @@ -281,7 +299,11 @@ void construct_fields(LttFacility *fac, 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); @@ -294,6 +316,7 @@ void construct_fields(LttFacility *fac, type->enum_map = NULL; type->fields = NULL; type->fields_by_name = NULL; + type->network = td->network; switch(td->type) { case INT_FIXED: