31832a5a030ad37c8b01010c146bf6c9fe1e2188 angie Fri Jan 20 09:40:03 2023 -0800 Make jsonWrite's objStack a lot deeper (for SARS-CoV-2 subtrees, https://github.com/yatisht/usher/issues/321) diff --git src/inc/jsonWrite.h src/inc/jsonWrite.h index 5b92990..a86cca4 100644 --- src/inc/jsonWrite.h +++ src/inc/jsonWrite.h @@ -14,31 +14,31 @@ #ifndef JSONWRITE_H #define JSONWRITE_H struct jwObjInfo /* Helps keep track of whether a comma is needed and whether we need to close an object or list */ { bool isNotEmpty; /* TRUE if an item has already been added to this object or list */ bool isObject; /* TRUE if item is an object (not a list). */ }; struct jsonWrite /* Object to help output JSON */ { struct jsonWrite *next; struct dyString *dy; /* Most of this module is building json text in here */ - struct jwObjInfo objStack[128]; /* Make stack deep enough to handle nested objects and lists */ + struct jwObjInfo objStack[1024]; /* Make stack deep enough to handle nested objects and lists */ int stackIx; /* Current index in stack */ char sep; /* Separator, defaults to ' ', but set to '\n' for human * readability. */ }; struct jsonWrite *jsonWriteNew(); /* Return new empty jsonWrite struct. */ void jsonWriteFree(struct jsonWrite **pJw); /* Free up a jsonWrite object. */ void jsonWriteTag(struct jsonWrite *jw, char *var); /* Print out preceding comma if necessary, and if var is non-NULL, quoted tag followed by colon. */ void jsonWriteEndLine(struct jsonWrite *jw);