87039bf2834d213b4fdef852e4f75567d4af538b
kent
  Tue May 14 07:04:07 2013 -0700
Making sprintLongWithCommas work up to the trillions.
diff --git src/lib/obscure.c src/lib/obscure.c
index 6621c8e..8b4fe94 100644
--- src/lib/obscure.c
+++ src/lib/obscure.c
@@ -520,32 +520,44 @@
     }
 slReverse(&list);
 return list;
 }
 
 struct slName *commaSepToSlNames(char *commaSep)
 /* Convert comma-separated list of items to slName list.  */
 {
 return charSepToSlNames(commaSep, ',');
 }
 
 
 void sprintLongWithCommas(char *s, long long l)
 /* Print out a long number with commas a thousands, millions, etc. */
 {
-long long billions, millions, thousands;
-if (l >= 1000000000)
+long long trillions, billions, millions, thousands;
+if (l >= 1000000000000L)
+    {
+    trillions = l/1000000000000LL;
+    l -= trillions * 1000000000000;
+    billions = l/1000000000;
+    l -= billions * 1000000000;
+    millions = l/1000000;
+    l -= millions * 1000000;
+    thousands = l/1000;
+    l -= thousands * 1000;
+    sprintf(s, "%lld,%03lld,%03lld,%03lld,%03lld", trillions, billions, millions, thousands, l);
+    }
+else if (l >= 1000000000)
     {
     billions = l/1000000000;
     l -= billions * 1000000000;
     millions = l/1000000;
     l -= millions * 1000000;
     thousands = l/1000;
     l -= thousands * 1000;
     sprintf(s, "%lld,%03lld,%03lld,%03lld", billions, millions, thousands, l);
     }
 else if (l >= 1000000)
     {
     millions = l/1000000;
     l -= millions * (long long)1000000;
     thousands = l/1000;
     l -= thousands * 1000;