eef3ac987538affd38eb38ccddf6ce6721f4c6f4
jcasper
  Sun Nov 23 22:03:29 2025 -0800
Removing bigCompositeUpdate CGI (folded into cartDump), and some kent-ifying of
the remaining code.  refs #36320

diff --git src/hg/bigCompositeUpdate/bigCompositeUpdate.c src/hg/bigCompositeUpdate/bigCompositeUpdate.c
deleted file mode 100644
index cd8e475ab7c..00000000000
--- src/hg/bigCompositeUpdate/bigCompositeUpdate.c
+++ /dev/null
@@ -1,79 +0,0 @@
-// SPDX-License-Identifier: MIT; (c) 2025 Andrew D Smith (author)
-/* bigCompositeUpdate - CGI to update bigComposite track visibilities */
-#include "common.h"
-#include "hash.h"
-#include "jksql.h"
-#include "htmshell.h"
-#include "web.h"
-#include "cheapcgi.h"
-#include "cart.h"
-#include "hui.h"
-
-/* Global Variables */
-struct cart *cart;             /* CGI and other variables */
-struct hash *oldVars = NULL;
-
-void doMiddle(struct cart *theCart) {
-  const int buffer_size = 128;
-  cart = theCart;
-
-  char *mdid = cgiString("mdid");  // metadata id (e.g., mb2 for MethBase2)
-  char mdid_dt[buffer_size];
-  snprintf(mdid_dt, buffer_size, "%s_%s", mdid, "dt");
-  char mdid_de[buffer_size];
-  snprintf(mdid_de, buffer_size, "%s_%s", mdid, "de");
-  char wc_mdid[buffer_size];
-  snprintf(wc_mdid, buffer_size, "*_%s", "mb2");
-
-  // clear out previous variables to avoid having to use =0 for
-  // non-visible data-type / data set combinations
-  cartRemoveLike(cart, wc_mdid);
-  cartRemovePrefix(cart, mdid);
-
-  struct dyString *cgi_encoded = cgiUrlString();
-  struct slName *dt_list = NULL;
-  struct slName *de_list = NULL;
-  char *raw_cgi = dyStringContents(cgi_encoded);
-  char *var = NULL, *val = NULL;
-  struct dyString *updated_cgi = newDyString(1024);
-  while (cgiParseNext(&raw_cgi, &var, &val)) {
-    if (sameWord(var, mdid_dt))
-      slAddHead(&dt_list, newSlName(val));
-    else if (sameWord(var, mdid_de))
-      slAddHead(&de_list, newSlName(val));
-    else cgiEncodeIntoDy(var, val, updated_cgi);
-  }
-
-  char track_name[buffer_size];
-  struct slName *de_itr = NULL;
-  for (de_itr = de_list; de_itr; de_itr = de_itr->next) {
-    struct slName *dt_itr = NULL;
-    for (dt_itr = dt_list; dt_itr; dt_itr = dt_itr->next) {
-      snprintf(track_name, buffer_size,
-	       "%s_%s_%s_sel", mdid, de_itr->name, dt_itr->name);
-      cgiEncodeIntoDy(track_name, "1", updated_cgi);
-    }
-  }
-  cartParseOverHash(cart, dyStringContents(updated_cgi));
-  cartRemove(cart, "mdid");  // could clash someday
-
-  dyStringFree(&cgi_encoded);
-  dyStringFree(&updated_cgi);
-
-  // send response: success, and no content
-  printf("Status: 204 No Content\r\n");
-  printf("\r\n");
-  fflush(stdout);
-}
-
-/* Null terminated list of CGI Variables we don't want to save
- * permanently. */
-char *excludeVars[] = {"Submit", "submit", NULL,};
-
-int main(int argc, char *argv[])
-/* Process command line. */
-{
-  cgiSpoof(&argc, argv);
-  cartEmptyShell(doMiddle, hUserCookie(), excludeVars, oldVars);
-  return 0;
-}