Than Ngo 13262e
diff -up ATLAS/include/atlas_genparse.h.than ATLAS/include/atlas_genparse.h
Than Ngo 13262e
--- ATLAS/include/atlas_genparse.h.than	2015-11-26 10:53:55.056586198 -0500
Than Ngo 13262e
+++ ATLAS/include/atlas_genparse.h	2015-11-26 10:56:00.168537914 -0500
Jaromir Capik f7d47d
@@ -149,13 +149,24 @@ static int asmNames2bitfield(char *str)
Jaromir Capik f7d47d
 }
Jaromir Capik f7d47d
 
Jaromir Capik f7d47d
 /* procedure 7 */
Jaromir Capik f7d47d
-static int GetDoubleArr(char *str, int N, double *d)
Jaromir Capik f7d47d
+static int GetDoubleArr(char *callerstr, int N, double *d)
Jaromir Capik f7d47d
 /*
Jaromir Capik f7d47d
  * Reads in a list with form "%le,%le...,%le"; N-length d recieves doubles.
Jaromir Capik f7d47d
  * RETURNS: the number of doubles found, or N, whichever is less
Jaromir Capik f7d47d
  */
Jaromir Capik f7d47d
 {
Jaromir Capik f7d47d
-   int i=1;
Jaromir Capik f7d47d
+   int i;
Jaromir Capik f7d47d
+   char *dupstr = DupString(callerstr);
Jaromir Capik f7d47d
+   char *str = dupstr;
Jaromir Capik f7d47d
+   /* strip the string to end on first white space */
Jaromir Capik f7d47d
+   for (i=0; dupstr[i]; i++)
Jaromir Capik f7d47d
+   {
Jaromir Capik f7d47d
+	if (isspace(dupstr[i])) {
Jaromir Capik f7d47d
+		dupstr[i] = '\0';
Jaromir Capik f7d47d
+		break;
Jaromir Capik f7d47d
+	}
Jaromir Capik f7d47d
+   }
Jaromir Capik f7d47d
+   i = 1;
Jaromir Capik f7d47d
    assert(sscanf(str, "%le", d) == 1);
Jaromir Capik f7d47d
    while (i < N)
Jaromir Capik f7d47d
    {
Than Ngo 13262e
@@ -167,6 +178,7 @@ static int GetDoubleArr(char *str, int N
Than Ngo 13262e
 	break;
Jaromir Capik f7d47d
       i++;
Jaromir Capik f7d47d
    }
Jaromir Capik f7d47d
+   free(dupstr);
Jaromir Capik f7d47d
    return(i);
Jaromir Capik f7d47d
 }
Jaromir Capik f7d47d