src/parasol/para/para.c 1.107

1.107 2009/12/04 23:50:23 markd
added -cpu and -ram to the parasol add jobs command
Index: src/parasol/para/para.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/parasol/para/para.c,v
retrieving revision 1.106
retrieving revision 1.107
diff -b -B -U 4 -r1.106 -r1.107
--- src/parasol/para/para.c	3 Sep 2008 21:13:03 -0000	1.106
+++ src/parasol/para/para.c	4 Dec 2009 23:50:23 -0000	1.107
@@ -291,42 +291,8 @@
     return jaCrashed;
 }
 
 
-long long parseRam(char *ram)
-/* Parse RAM expression like 2000000, 2t, 2g, 2m, 2k
- * Returns long long number of bytes, or -1 for error
- * The value of input variable ram may be modified. */
-{
-long long result = -1, factor = 1;
-int len = strlen(ram);
-int i;
-char saveC = ' ';
-if (len == 0)
-    return result;
-if (ram[len-1] == 't')
-    factor = (long long)1024 * 1024 * 1024 * 1024;
-else if (ram[len-1] == 'g')
-    factor = 1024 * 1024 * 1024;
-else if (ram[len-1] == 'm')
-    factor = 1024 * 1024;
-else if (ram[len-1] == 'k')
-    factor = 1024;
-if (factor != 1)
-    {
-    --len;
-    saveC = ram[len];
-    ram[len] = 0;
-    }
-for (i=0; i<len; ++i)
-    if (!isdigit(ram[i]))
-	return result;
-result = factor * sqlLongLong(ram);
-if (factor != 1)
-    ram[len] = saveC;
-return result;
-}
-
 char *useWhats[] = {"cpu", "ram"};
 
 void parseUsage(struct job* job, struct lineFile *lf)
 /* Parse out and keep CPU and RAM usage from the job command. */
@@ -369,9 +335,9 @@
     	    job->cpusUsed = sqlFloat(parts[2]);
 	    }
 	if (sameString(parts[1], "ram"))
 	    {
-    	    job->ramUsed = parseRam(parts[2]);
+    	    job->ramUsed = paraParseRam(parts[2]);
 	    if (job->ramUsed == -1)
 		errAbort("Invalid RAM expression '%s' in 'use' clause line %d of %s", 
 		    parts[2], lf->lineIx, lf->fileName);
 	    }
@@ -2170,9 +2136,9 @@
     fprintf(stderr, "note: the -eta option is no longer required\n");
 cpuUsage = optionFloat("cpu", cpuUsage);
 if (cpuUsage < 0)
     usage();
-ramUsage = parseRam(optionVal("ram","0"));
+ramUsage = paraParseRam(optionVal("ram","0"));
 if (ramUsage == -1)
     usage();
 batchDir = determineCwdOptDir("batch");
 jobCwd = determineCwdOptDir("jobCwd");