2e2fe42ea116b0a37fe3bd4b1744a0998a4ccaa6 kent Fri Jun 2 14:24:09 2017 -0700 Adding csvParse. diff --git src/inc/csv.h src/inc/csv.h index 2e3437a..71186af 100644 --- src/inc/csv.h +++ src/inc/csv.h @@ -1,30 +1,33 @@ /* csv - stuff to help process comma separated values. Have to wrap quotes around * things with commas, and escape quotes with more quotes sometimes. */ #ifndef CSV_H #define CSV_H char *csvEscapeToDyString(struct dyString *dy, char *string); /* Wrap string in quotes if it has any commas. Anything already in quotes get s double-quoted * Returns transformated result, which will be input string if it has no commas, otherwise * will be dy*/ void csvWriteVal(char *val, FILE *f); /* Write val, which may have some quotes or commas in it, in a way to be compatable with * csv list representation */ char *csvParseNext(char **pos, struct dyString *scratch); /* Return next value starting at pos, putting results into scratch and * returning scratch->string or NULL if no values left. Will update *pos * to after trailing comma if any. This will tolerate and ignore leading * and trailing white space. * Since an empty or all-white string is will return NULL, if you * want empty strings to be a legitimate value then they have to be quoted * or followed by a comma. */ boolean csvNeedsParsing(char *s); /* Return TRUE if s is something that needs parsing through the csv parser. That * is it either starts with a quote or has a comma */ +struct slName *csvParse(char *csv); +/* Return a list of parsed out csv values. Do a slFreeList of this when done */ + #endif /* CSV_H */