4898794edd81be5285ea6e544acbedeaeb31bf78 max Tue Nov 23 08:10:57 2021 -0800 Fixing pointers to README file for license in all source code files. refs #27614 diff --git src/lib/annoOption.c src/lib/annoOption.c index bb8ac6d..d6248e2 100644 --- src/lib/annoOption.c +++ src/lib/annoOption.c @@ -1,100 +1,100 @@ /* annoOption -- optionSpec-style param plus its value */ /* Copyright (C) 2013 The Regents of the University of California - * See README in this or parent directory for licensing information. */ + * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #include "annoOption.h" struct annoOption *annoOptionCloneList(struct annoOption *list) /* Return a newly allocated copy of list. */ { struct annoOption *newList = NULL, *afo; for (afo = list; afo != NULL; afo = afo->next) { struct annoOption *newAfo = CloneVar(afo); newAfo->spec.name = cloneString(afo->spec.name); newAfo->value = NULL; unsigned opFlags = afo->spec.flags; if (opFlags & OPTION_MULTI) { switch (opFlags & OPTION_TYPE_MASK) { case OPTION_STRING: newAfo->value = slNameCloneList((struct slName *)(afo->value)); break; default: errAbort("annoOptionCloneList: OPTION_MULTI implemented only for " "OPTION_STRING (not 0x%x)", opFlags); } } else { switch (opFlags & OPTION_TYPE_MASK) { // For numeric singleton values, we are overloading value. case OPTION_DOUBLE: case OPTION_FLOAT: case OPTION_LONG_LONG: case OPTION_INT: case OPTION_BOOLEAN: newAfo->value = afo->value; break; case OPTION_STRING: newAfo->value = cloneString((char *)afo->value); break; default: errAbort("annoOptionCloneList: unrecognized op type 0x%x", opFlags); } } slAddHead(&newList, newAfo); } slReverse(&newList); return newList; } void annoOptionFreeList(struct annoOption **pList) /* Free the same things that we clone above. */ { if (pList == NULL) return; struct annoOption *afo, *nextAfo; for (afo = *pList; afo != NULL; afo = nextAfo) { nextAfo = afo->next; freeMem(afo->spec.name); unsigned opFlags = afo->spec.flags; if (opFlags & OPTION_MULTI) { switch (opFlags & OPTION_TYPE_MASK) { case OPTION_STRING: slNameFreeList(&(afo->value)); break; default: errAbort("annoOptionFreeList: OPTION_MULTI implemented only for " "OPTION_STRING (not 0x%x)", opFlags); } } else { switch (opFlags & OPTION_TYPE_MASK) { // No need to free overloaded numeric values case OPTION_DOUBLE: case OPTION_FLOAT: case OPTION_LONG_LONG: case OPTION_INT: case OPTION_BOOLEAN: break; case OPTION_STRING: freeMem(afo->value); break; default: errAbort("annoOptionFreeList: unrecognized op type 0x%x", opFlags); } } freeMem(afo); } *pList = NULL; }