e3589a4a737e30ac3b324d050dfeab10e015ae5e max Tue Jan 12 13:54:56 2016 -0800 removing a check for 2002-era internet browsers after confirmation from Angie. This will allow pasting of local file paths in GBiB or mirrors into the custom track box. No redmine. diff --git src/hg/lib/customTrack.c src/hg/lib/customTrack.c index 6b9ab70..ba4ed5a 100644 --- src/hg/lib/customTrack.c +++ src/hg/lib/customTrack.c @@ -255,38 +255,30 @@ struct sqlResult *sr = sqlGetResult(conn, "NOSQLINJ select * from ctgPos"); char **row; while ((row = sqlNextRow(sr)) != NULL) { ctg = ctgPosLoad(row); slAddHead(&ctgList, ctg); hashAdd(ctgHash, ctg->contig, ctg); } customTrackLift(ctList, ctgHash); ctgPosFreeList(&ctgList); hashFree(&ctgHash); sqlFreeResult(&sr); hFreeConn(&conn); } -boolean bogusMacEmptyChars(char *s) -/* Return TRUE if it looks like this is just a buggy - * Mac browser putting in bogus chars into empty text box. */ -{ -char c = *s; -return (c != '_') && (c != '#') && !isalnum(c); -} - static int ct_nextDefaultTrackNum = 1; static boolean isDefaultTrack(struct customTrack *ct) /* determine if this ia an unnamed track */ { return startsWith(CT_DEFAULT_TRACK_NAME, ct->tdb->shortLabel); } static void nextUniqueDefaultTrack(struct customTrack *ctList) /* find sequence number to assure uniqueness of default track, * by determining highest sequence number in existing track list */ { struct customTrack *ct; int seqNum = 0, maxFound = 0; for (ct = ctList; ct != NULL; ct = ct->next) @@ -744,31 +736,31 @@ #define CT_CUSTOM_FILE_BIN_VAR CT_CUSTOM_FILE_VAR "__binary" #define CT_CUSTOM_DOC_FILE_BIN_VAR CT_CUSTOM_DOC_FILE_VAR "__binary" int numAdded = 0; char *err = NULL; /* the hgt.customText and hgt.customFile variables contain new custom * tracks that have not yet been parsed */ char *customText = cartOptionalString(cart, CT_CUSTOM_TEXT_ALT_VAR); /* parallel CGI variable, used by hgCustom, to allow javascript */ if (!customText) customText = cartOptionalString(cart, CT_CUSTOM_TEXT_VAR); char *fileName = NULL; struct slName *browserLines = NULL; customText = skipLeadingSpaces(customText); -if (customText && bogusMacEmptyChars(customText)) +if (customText) customText = NULL; fileName = cartOptionalString(cart, CT_CUSTOM_FILE_NAME_VAR); char *fileContents = cartOptionalString(cart, CT_CUSTOM_FILE_VAR); if (isNotEmpty(fileName)) { /* handle file input, optionally with compression */ if (isNotEmpty(fileContents)) customText = fileContents; else { /* file contents not available -- check for compressed */ if (customTrackIsCompressed(fileName)) { customText = prepCompressedFile(cart, fileName,