3b2f2b6a075942048a3acac89af44e332a326b7b
galt
  Thu Jun 13 16:23:19 2019 -0700
Enable > 4GB uploads by increasing maximium size of dyString to long (64 bits size) instead of int (32 bits size). This limit was impeding uploads artificially at 4GB.

diff --git src/hg/utils/refreshNamedSessionCustomTracks/refreshNamedSessionCustomTracks.c src/hg/utils/refreshNamedSessionCustomTracks/refreshNamedSessionCustomTracks.c
index 3120c8d..4fa8cb2 100644
--- src/hg/utils/refreshNamedSessionCustomTracks/refreshNamedSessionCustomTracks.c
+++ src/hg/utils/refreshNamedSessionCustomTracks/refreshNamedSessionCustomTracks.c
@@ -4,31 +4,31 @@
 /* Copyright (C) 2013 The Regents of the University of California 
  * See README in this or parent directory for licensing information. */
 
 #include "common.h"
 #include "options.h"
 #include "hash.h"
 #include "cheapcgi.h"
 #include "customTrack.h"
 #include "customFactory.h"
 #include "hui.h"
 #include "hgConfig.h"
 #include <sys/wait.h>
 #include <signal.h>
 #include "obscure.h"
 
-int version = 43;  // PLEASE INCREMENT THIS BEFORE PUSHING TO SHARED REPO
+int version = 44;  // PLEASE INCREMENT THIS BEFORE PUSHING TO SHARED REPO
                    // SO THAT OTHERS MAY TEST WITH IT, SO THAT EVERYONE KNOWS THEY HAVE THE
                    // EXACT RIGHT VERSION.
 
 #define savedSessionTable "namedSessionDb"
 
 int CFTEcalls = 0; 
 int numUpdates = 0;
 
 int numForks = 10;
 
 int timeoutSecs = 7200; // Timeout for each forked child process
                         // default 7200 seconds is two hours
 
 char *testFailure = NULL;
 
@@ -317,39 +317,39 @@
 	    dyStringAppend(newContents, oneSetting->string);
 	    }
 	}
     else
 	{
 	dyStringAppend(newContents, oneSetting->string);
 	}
     namePt = nextNamePt;
     }
 if (newContents->stringSize != contentLength) 
     ++numUpdates;
 if (optionExists("hardcore") && newContents->stringSize != contentLength)  // almost never used
     {
     struct dyString *update = dyStringNew(contentLength*2);
     if (newContents->stringSize > contentLength)
-	errAbort("ERROR: Uh, why is newContents (%d) longer than original (%d)",
+	errAbort("ERROR: Uh, why is newContents (%ld) longer than original (%d)",
 		 newContents->stringSize, contentLength);
     sqlDyStringPrintf(update, "UPDATE %s set contents='", savedSessionTable);
     dyStringAppendN(update, newContents->string, newContents->stringSize);
     dyStringPrintf(update, "', lastUse=now(), useCount=useCount+1 "
 		   "where userName=\"%s\" and sessionName=\"%s\";",
 		   userName, sessionName);
     verbose(3, "Removing one or more dead CT file settings from %s %s "
-	    "(original length %d, now %d)\n", 
+	    "(original length %d, now %ld)\n", 
 	    userName, sessionName,
 	    contentLength, newContents->stringSize);
     sqlUpdate(conn, update->string);
     dyStringFree(&update);
     }
 dyStringFree(&oneSetting);
 dyStringFree(&newContents);
 freeMem(contentsToChop);
 freeMem(contents);
 return;
 
 }
 
 struct sessionInfo
     {