update compat
[lttv.git] / ltt / branches / poly / ltt / type.c
index 0961eb141d32b8dd244e0f00738a46c708c69446..d759f325d4a121bba3a78174671bce4bb10d093b 100644 (file)
@@ -1,19 +1,20 @@
 /* This file is part of the Linux Trace Toolkit viewer
- * Copyright (C) 2003-2004 Xiangxiu Yang, Mathieu Desnoyers
+ * 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
@@ -145,10 +146,14 @@ size_t ltt_type_size(LttTrace * trace, LttType *t)
   size_t size;
 
   switch(t->type_class) {
-
+    case LTT_INT_FIXED:
+    case LTT_UINT_FIXED:
+    case LTT_CHAR:
+    case LTT_UCHAR:
+    case LTT_SHORT:
+    case LTT_USHORT:
     case LTT_INT:
     case LTT_UINT:
-    case LTT_SEQUENCE:
     case LTT_ENUM:
       if(likely(t->size < INT_SIZES_NUMBER))
         size = intSizes[t->size];
@@ -166,11 +171,13 @@ size_t ltt_type_size(LttTrace * trace, LttType *t)
     case LTT_ULONG:
     case LTT_SIZE_T:
     case LTT_SSIZE_T:
+    case LTT_SEQUENCE:
     case LTT_OFF_T:
     case LTT_STRING:
     case LTT_ARRAY:
     case LTT_STRUCT:
     case LTT_UNION:
+    case LTT_NONE:
       goto error;
       break;
   }
@@ -213,23 +220,22 @@ LttType *ltt_type_element_type(LttType *t)
 
 /*****************************************************************************
  *Function name
- *    ltt_type_element_number : obtain the number of elements for arrays 
+ *    ltt_type_element_number : obtain the number of elements for enums
  *Input params
- *    t                       : a type   
+ *    t                       : a type
  *Return value
  *    unsigned                : the number of elements for arrays
  ****************************************************************************/
-#if 0
 unsigned ltt_type_element_number(LttType *t)
 {
   unsigned ret = 0;
 
-  if(likely(t->type_class == LTT_ARRAY))
-    ret = t->element_number;
+  if(likely(t->type_class == LTT_ENUM))
+    ret = g_hash_table_size(t->enum_map);
 
   return ret;
 }
-#endif //0
+
 /*****************************************************************************
  *Function name
  *    ltt_type_member_number : obtain the number of data members for structure 
@@ -371,7 +377,7 @@ int ltt_field_size(LttField * f)
 
 guint ltt_eventtype_num_fields(LttEventType *event_type)
 {
-  if(unlikely(!event_type)) return NULL;
+  if(unlikely(!event_type)) return 0;
 
   return event_type->fields->len;
   
This page took 0.025443 seconds and 4 git commands to generate.