0b073cd9000113cdb5e48ef772449ede60e1dea0
galt
  Fri Mar 24 01:31:59 2017 -0700
little fix to cart.c so definitions happen before cartNew called.

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 31370a6..fda6545 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -1593,54 +1593,55 @@
         }
     }
 /* Validate login cookies if login is enabled */
 if (loginSystemEnabled())
     {
     struct slName *newCookies = loginValidateCookies(cart), *sl;
     for (sl = newCookies;  sl != NULL;  sl = sl->next)
         printf("Set-Cookie: %s\r\n", sl->name);
     }
 }
 
 struct cart *cartForSession(char *cookieName, char **exclude,
                             struct hash *oldVars)
 /* This gets the cart without writing any HTTP lines at all to stdout. */
 {
-char *hguid = getCookieId(cookieName);
-char *hgsid = getSessionId();
-struct cart *cart = cartNew(hguid, hgsid, exclude, oldVars);
-cartExclude(cart, sessionVar);
+/* Most cgis call this routine */
 if (sameOk(cfgOption("signalsHandler"), "on"))  /* most cgis call this routine */
     initSigHandlers(hDumpStackEnabled());
 /* Proxy Settings 
- * Most cgis call this routine
  * net.c cannot see the cart, pass the value through env var */
 char *httpProxy = cfgOption("httpProxy");  
 if (httpProxy)
     setenv("http_proxy", httpProxy, TRUE);
 char *httpsProxy = cfgOption("httpsProxy");
 if (httpsProxy)
     setenv("https_proxy", httpsProxy, TRUE);
 char *ftpProxy = cfgOption("ftpProxy");
 if (ftpProxy)
     setenv("ftp_proxy", ftpProxy, TRUE);
 char *noProxy = cfgOption("noProxy");
 if (noProxy)
     setenv("no_proxy", noProxy, TRUE);
 char *logProxy = cfgOption("logProxy");
 if (logProxy)
-    setenv("log_proxy", noProxy, TRUE);
+    setenv("log_proxy", logProxy, TRUE);
+
+char *hguid = getCookieId(cookieName);
+char *hgsid = getSessionId();
+struct cart *cart = cartNew(hguid, hgsid, exclude, oldVars);
+cartExclude(cart, sessionVar);
 return cart;
 }
 
 struct cart *cartAndCookieWithHtml(char *cookieName, char **exclude,
                                    struct hash *oldVars, boolean doContentType)
 /* Load cart from cookie and session cgi variable.  Write cookie
  * and optionally content-type part HTTP preamble to web page.  Don't
  * write any HTML though. */
 {
 // Note: early abort works fine but early warn does not
 htmlPushEarlyHandlers();
 struct cart *cart = cartForSession(cookieName, exclude, oldVars);
 popWarnHandler();
 popAbortHandler();