0.8.20
[lttv.git] / ltt / branches / poly / ltt / facility.c
index 252c6759c49ac65bd9f9eda3718a1a23b828fa9a..e3ed40ee96661b0731f4a694a8cda8337c84a187 100644 (file)
@@ -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
@@ -294,7 +294,7 @@ void construct_fields(LttFacility *fac,
   type->enum_map = NULL;
   type->fields = NULL;
   type->fields_by_name = NULL;
+
   switch(td->type) {
     case INT_FIXED:
       type->type_class = LTT_INT_FIXED;
@@ -315,6 +315,7 @@ void construct_fields(LttFacility *fac,
     case UCHAR:
       type->type_class = LTT_UCHAR;
       type->size = td->size;
+      g_assert(type->size != 0);
       break;
     case SHORT:
       type->type_class = LTT_SHORT;
@@ -331,6 +332,7 @@ void construct_fields(LttFacility *fac,
     case UINT:
       type->type_class = LTT_UINT;
       type->size = fac->int_size;
+      g_assert(type->size != 0);
       break;
     case LONG:
       type->type_class = LTT_LONG;
@@ -365,13 +367,14 @@ void construct_fields(LttFacility *fac,
       type->size = fac->int_size;
       {
         guint i;
-        type->enum_map = g_hash_table_new(g_int_hash, g_int_equal);
+        type->enum_map = g_hash_table_new(g_direct_hash, g_direct_equal);
         for(i=0; i<td->labels.position; i++) {
           GQuark value = g_quark_from_string((char*)td->labels.array[i]);
           gint key = *(int*)td->labels_values.array[i];
           g_hash_table_insert(type->enum_map, (gpointer)key, (gpointer)value);
         }
       }
+      g_assert(type->size != 0);
       break;
     case ARRAY:
       type->type_class = LTT_ARRAY;
This page took 0.024486 seconds and 4 git commands to generate.