0283f0d3e96fe85f11241197f477611680c01186
angie
Mon Mar 4 09:58:59 2019 -0800
cartWebStart adds a hidden to set db on every page. However, some CGIs pass in NULL for db, so db is set to '(null)'. Don't make the unless a value is passed in.
diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 8379cc1..36dc637 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -2400,38 +2400,41 @@
void cartVaWebStart(struct cart *cart, char *db, char *format, va_list args)
/* Print out pretty wrapper around things when working
* from cart. */
{
cartVaWebStartMaybeHeader(cart, db, FALSE, format, args);
}
void cartWebStart(struct cart *cart, char *db, char *format, ...)
/* Print out pretty wrapper around things when working
* from cart. */
{
va_list args;
va_start(args, format);
cartVaWebStart(cart, db, format, args);
va_end(args);
-// WTF - variable outside of a form on almost every page we make below?
+if (isNotEmpty(db))
+ {
+ // Why do we put an input outside of a form on almost every page we make?
// Tim put this in. Talking with him it sounds like some pages might actually
// depend on it. Not removing it until we have a chance to test. Best fix
// might be to add it to cartSaveSession, though this would then no longer be
// well named, and not all things have 'db.' Arrr. Probably best to remove
// and test a bunch.
cgiMakeHiddenVar("db", db);
}
+}
void cartWebStartHeader(struct cart *cart, char *db, char *format, ...)
/* Print out Content-type header and then pretty wrapper around things when working
* from cart. */
{
va_list args;
va_start(args, format);
cartVaWebStartMaybeHeader(cart, db, TRUE, format, args);
va_end(args);
}
void cartWebEnd()
/* Write out HTML footer and get rid or error handler. */
{
webEnd();