7714cf4d6ed357c525a34f3b6e6048ddc90583c8 kent Sun Aug 11 11:57:03 2019 -0700 Making uncvs return empty when endex out of range like untsv does. diff --git src/lib/strex.c src/lib/strex.c index 7eb7c3a..40c0f9d 100644 --- src/lib/strex.c +++ src/lib/strex.c @@ -928,31 +928,31 @@ { if (end == NULL) return lmCloneString(lm, s); else return lmCloneMem(lm, s, end - s); } s = end; } } static char *uncsvString(char *csvIn, int ix, struct lm *lm) /* Return the comma separated value of index ix. Memory for result is lm */ { struct dyString *scratch = dyStringNew(0); char *one = csvParseOneOut(csvIn, ix, scratch); -char *res = lmCloneString(lm, one); // Save in more permanent memory +char *res = emptyForNull(lmCloneString(lm, one)); // Save in more permanent memory dyStringFree(&scratch); return res; } static char *separateString(char *string, char *splitter, int ix, struct lm *lm) /* Return the ix'th part of string as split apart by splitter */ { int splitterSize = strlen(splitter); if (splitterSize != 1) errAbort("Separator parameter to split must be a single character, not %s", splitter); int count = chopByChar(string, splitter[0], NULL, 0); if (ix >= count) errAbort("There aren't %d fields separated by %s in %s", ix+1, splitter, string); char **row; lmAllocArray(lm, row, count);