a914d9bdef4d00a82f03f03c0176cf8c14eb7421 max Wed Jul 29 06:32:49 2015 -0700 allowing empty name fields in bigBed. refs #15780 diff --git src/inc/common.h src/inc/common.h index c6f2d69..960b0c2 100644 --- src/inc/common.h +++ src/inc/common.h @@ -1016,32 +1016,37 @@ /* Return next word in *pLine and advance *pLine to next * word. Returns NULL when no more words. */ char *nextWordRespectingQuotes(char **pLine); // return next word but respects single or double quotes surrounding sets of words. char *cloneFirstWord(char *line); /* Clone first word in line */ char *cloneNotFirstWord(char *s); /* Clone part of string after first word. */ char *nextTabWord(char **pLine); /* Return next tab-separated word. */ +char *cloneFirstWordByDelimiterNoSkip(char *line,char delimit); +/* Returns a cloned first word, not harming the memory passed in. + * Does not skip leading white space.*/ + char *cloneFirstWordByDelimiter(char *line,char delimit); /* Returns a cloned first word, not harming the memory passed in + Skips leading white space. Delimiter of ' ' will delimit by isspace() */ #define cloneFirstWordInLine(line) cloneFirstWordByDelimiter((line),' ') #define cloneFirstWordByTab(line) cloneFirstWordByDelimiter((line),'\t') /* Returns a cloned first word, not harming the memory passed in */ char *cloneNextWordByDelimiter(char **line,char delimit); /* Returns a cloned first word, advancing the line pointer but not harming memory passed in. Delimit ' ' uses isspace() */ #define cloneNextWord(line) cloneNextWordByDelimiter((line),' ') #define cloneNextWordByTab(line) cloneNextWordByDelimiter((line),'\t') char *nextStringInList(char **pStrings); /* returns pointer to the first string and advances pointer to next in list of strings dilimited by 1 null and terminated by 2 nulls. */