ba33f2c600399d5b4b97dd5fd987ed2db3c891ba chmalee Tue May 19 13:40:42 2026 -0700 myVariants related fixes from code review. Standardize how the code determines we are about to do something myVariants related by #defining some strings and using sameOk to check for them, remove a dead code block, and have hgc use autoSql to load the myVariants item rather than check the raw sql result, refs #37528 diff --git src/hg/lib/myVariantsShare.c src/hg/lib/myVariantsShare.c index 252c589d3ce..eedf1f82fc0 100644 --- src/hg/lib/myVariantsShare.c +++ src/hg/lib/myVariantsShare.c @@ -315,55 +315,15 @@ { struct jsonWrite *jw = jsonWriteNew(); jsonWriteObjectStart(jw, NULL); jsonWriteString(jw, "owner", share->ownerUser); jsonWriteString(jw, "project", share->project); jsonWriteString(jw, "db", share->db); jsonWriteNumber(jw, "permission", share->permission); if (isNotEmpty(share->label)) jsonWriteString(jw, "label", share->label); jsonWriteObjectEnd(jw); char *result = cloneString(jw->dy->string); jsonWriteFree(&jw); return result; } -boolean myVariantsParseShareCartValue(char *val, char **retOwner, - char **retProject, char **retDb, int *retPermission, char **retLabel) -/* Parse a JSON cart value string back into components. Returns FALSE on bad format. - * retOwner, retProject, retDb, retLabel are cloneString'd; caller must free. - * retLabel may be NULL; pass NULL to skip. */ -{ -if (isEmpty(val)) - return FALSE; -/* jsonParse errAborts on malformed input; catch so a malicious cart value - * can't take down a session-load or page render. */ -struct jsonElement *json = NULL; -struct errCatch *ec = errCatchNew(); -if (errCatchStart(ec)) - json = jsonParse(val); -errCatchEnd(ec); -boolean parseFailed = ec->gotError; -errCatchFree(&ec); -if (parseFailed || json == NULL) - return FALSE; -char *owner = jsonOptionalStringField(json, "owner", NULL); -char *project = jsonOptionalStringField(json, "project", NULL); -char *db = jsonOptionalStringField(json, "db", NULL); -if (owner == NULL || project == NULL || db == NULL) - return FALSE; -if (retOwner) - *retOwner = cloneString(owner); -if (retProject) - *retProject = cloneString(project); -if (retDb) - *retDb = cloneString(db); -if (retPermission) - { - struct jsonElement *permEl = jsonFindNamedField(json, "", "permission"); - *retPermission = (permEl != NULL) ? (int)jsonNumberVal(permEl, "permission") : 0; - } -if (retLabel) - *retLabel = cloneString(jsonOptionalStringField(json, "label", "")); -return TRUE; -} -