rename to gtktraceset.h to viewer.h, includes
[lttv.git] / ltt / branches / poly / ltt / event.c
index 9b3ff0d9984b63155baaf14ab3c6b54fa4c90c45..3b28f57616ed5baa6eb0ff74c3fc2fffdbfc6584 100644 (file)
@@ -1,8 +1,30 @@
+/* This file is part of the Linux Trace Toolkit viewer
+ * Copyright (C) 2003-2004 Xiangxiu Yang
+ *
+ * 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 program 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.
+ *
+ * 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.
+ */
+
 #include <stdio.h>
 #include <asm/types.h>
 #include <linux/byteorder/swab.h>
+
 #include "parser.h"
+#include <ltt/ltt.h>
+#include "ltt-private.h"
 #include <ltt/event.h>
+#include <ltt/trace.h>
 
 /*****************************************************************************
  *Function name
@@ -200,6 +222,11 @@ void ltt_event_position(LttEvent *e, LttEventPosition *ep)
   ep->tf                = e->tracefile;
 }
 
+LttEventPosition * ltt_event_position_new()
+{
+  return g_new(LttEventPosition, 1);
+}
+
 /*****************************************************************************
  *Function name
  *    ltt_event_position_get : get the block number and index of the event
@@ -243,8 +270,23 @@ void ltt_event_position_set(LttEventPosition *ep,
  ****************************************************************************/
 
 unsigned ltt_event_cpu_id(LttEvent *e)
-{  
-  return (unsigned)atoi(e->tracefile->name);
+{ 
+  char * c1, * c2, * c3;
+  c1 = strrchr(e->tracefile->name,'\\');
+  c2 = strrchr(e->tracefile->name,'/');
+  if(c1 == NULL && c2 == NULL){
+    return (unsigned)atoi(e->tracefile->name);
+  }else if(c1 == NULL){
+    c2++;
+    return (unsigned)atoi(c2);    
+  }else if(c2 == NULL){
+    c1++;
+    return (unsigned)atoi(c1);    
+  }else{
+    c3 = (c1 > c2) ? c1 : c2;
+    c3++;
+    return (unsigned)atoi(c3);        
+  }
 }
 
 /*****************************************************************************
This page took 0.023381 seconds and 4 git commands to generate.