7edc9bedd9a2d5d48ff44303c46e8006df2d343c kent Wed Feb 4 09:10:56 2015 -0800 Removing INLINE from raNextTagVal since it was causeing compile problems. diff --git src/lib/ra.c src/lib/ra.c index 03b4478..a0549ed 100644 --- src/lib/ra.c +++ src/lib/ra.c @@ -103,30 +103,41 @@ // Skip comments if (*clippedText == '#') { if (startsWith("#EOF", clippedText)) return FALSE; else continue; } *retTag = nextWord(&line); *retVal = trimSpaces(line); return TRUE; } return FALSE; } +boolean raNextTagVal(struct lineFile *lf, char **retTag, char **retVal, struct dyString *dy) +// Read next line. Return FALSE at end of file or blank line. Otherwise fill in +// *retTag and *retVal and return TRUE. If dy parameter is non-null, then the text parsed +// gets appended to dy. Continuation lines in RA file will be joined to produce tag and val, +// but dy will be filled with the unedited multiple lines containing the continuation chars. +// NOTE: retTag & retVal, if returned, point to static mem which will be overwritten on next call! +{ +return raNextTagValWithIndent(lf, retTag, retVal, dy, NULL); +} + + struct hash *raNextStanza(struct lineFile *lf) // Return a hash containing next record. // Will ignore '#' comments and joins continued lines (ending in '\'). // Returns NULL at end of file. freeHash this when done. // Note this will free the hash keys and values as well, // so you'll have to cloneMem them if you want them for later. { struct hash *hash = NULL; char *key, *val; if (!raSkipLeadingEmptyLines(lf, NULL)) return NULL; while (raNextTagVal(lf, &key, &val, NULL)) {