adding a new variable that records the length of traceRoot
authorFilippo Gioachin <gioachin@illinois.edu>
Wed, 23 Sep 2009 23:13:45 +0000 (23:13 +0000)
committerFilippo Gioachin <gioachin@illinois.edu>
Wed, 23 Sep 2009 23:13:45 +0000 (23:13 +0000)
src/ck-perf/trace-common.C
src/ck-perf/trace-common.h

index 1af20c49b19eb513e6101cbf4ede9811340a6969..c055541043af55f41f55756500b7c8d8cf4d0811 100644 (file)
@@ -59,6 +59,7 @@ CkpvDeclare(double, traceInitCpuTime);
 CpvDeclare(int, traceOn);
 CkpvDeclare(int, traceOnPe);
 CkpvDeclare(char*, traceRoot);
 CpvDeclare(int, traceOn);
 CkpvDeclare(int, traceOnPe);
 CkpvDeclare(char*, traceRoot);
+CkpvDeclare(int, traceRootBaseLength);
 CkpvDeclare(char*, selective);
 CkpvDeclare(bool, verbose);
 
 CkpvDeclare(char*, selective);
 CkpvDeclare(bool, verbose);
 
@@ -100,6 +101,7 @@ static void traceCommonInit(char **argv)
   char *temproot;
   char *temproot2;
   CkpvInitialize(char*, traceRoot);
   char *temproot;
   char *temproot2;
   CkpvInitialize(char*, traceRoot);
+  CkpvInitialize(int, traceRootBaseLength);
   if (CmiGetArgStringDesc(argv, "+traceroot", &temproot, "Directory to write trace files to")) {
     int i;
     // Trying to decide if the traceroot path is absolute or not. If it is not
   if (CmiGetArgStringDesc(argv, "+traceroot", &temproot, "Directory to write trace files to")) {
     int i;
     // Trying to decide if the traceroot path is absolute or not. If it is not
@@ -116,6 +118,7 @@ static void traceCommonInit(char **argv)
     }
     for (i=strlen(argv[0])-1; i>=0; i--) if (argv[0][i] == PATHSEP) break;
     i++;
     }
     for (i=strlen(argv[0])-1; i>=0; i--) if (argv[0][i] == PATHSEP) break;
     i++;
+    CkpvAccess(traceRootBaseLength) = strlen(root)+1;
     CkpvAccess(traceRoot) = (char *)malloc(strlen(argv[0]+i) + strlen(root) + 2);    _MEMCHECK(CkpvAccess(traceRoot));
     strcpy(CkpvAccess(traceRoot), root);
     strcat(CkpvAccess(traceRoot), PATHSEPSTR);
     CkpvAccess(traceRoot) = (char *)malloc(strlen(argv[0]+i) + strlen(root) + 2);    _MEMCHECK(CkpvAccess(traceRoot));
     strcpy(CkpvAccess(traceRoot), root);
     strcat(CkpvAccess(traceRoot), PATHSEPSTR);
index 814ff478c370b97e6c47a36d6249f388b4e5c9c1..14d91e4c909c33467e8bb8eecb68aa971126afca 100644 (file)
@@ -61,6 +61,7 @@
 
 CkpvExtern(int, CtrLogBufSize);
 CkpvExtern(char*, traceRoot);
 
 CkpvExtern(int, CtrLogBufSize);
 CkpvExtern(char*, traceRoot);
+CkpvExtern(int, traceRootBaseLength);
 CkpvExtern(char*, selective);
 CkpvExtern(bool, verbose);
 CkpvExtern(double, traceInitTime);
 CkpvExtern(char*, selective);
 CkpvExtern(bool, verbose);
 CkpvExtern(double, traceInitTime);