iavoid unnecessary fields due to data after tags - xml2tsv - a simple xml-to-tsv converter, based on xmlparser Err bitreich.org 70 1Log /scm/xml2tsv/log.gph bitreich.org 70 1Files /scm/xml2tsv/files.gph bitreich.org 70 1Refs /scm/xml2tsv/refs.gph bitreich.org 70 1Tags /scm/xml2tsv/tag bitreich.org 70 1README /scm/xml2tsv/file/README.md.gph bitreich.org 70 1LICENSE /scm/xml2tsv/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 1e797ce6bffc927a69bc38828b5158dbb68b5950 /scm/xml2tsv/commit/1e797ce6bffc927a69bc38828b5158dbb68b5950.gph bitreich.org 70 1parent 77a22b4fd5d8f6c9f64245788e5726de78f8c30e /scm/xml2tsv/commit/77a22b4fd5d8f6c9f64245788e5726de78f8c30e.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Sun, 12 Jan 2020 19:15:56 +0000 Err bitreich.org 70 i Err bitreich.org 70 iavoid unnecessary fields due to data after tags Err bitreich.org 70 i Err bitreich.org 70 iAvoid to include more fields than needed in a record when there is Err bitreich.org 70 isome data (e.g., spaces) after the end of a tag Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M xml2tsv.c | 14 ++++++++++++-- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 12 insertions(+), 2 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/xml2tsv.c b/xml2tsv.c /scm/xml2tsv/file/xml2tsv.c.gph bitreich.org 70 i@@ -19,6 +19,10 @@ Err bitreich.org 70 i #include "xml.h" Err bitreich.org 70 i #include "config.h" Err bitreich.org 70 i Err bitreich.org 70 i+ Err bitreich.org 70 i+#define FALSE 0 Err bitreich.org 70 i+#define TRUE 1 Err bitreich.org 70 i+ Err bitreich.org 70 i /* tag stack */ Err bitreich.org 70 i Err bitreich.org 70 i typedef struct { Err bitreich.org 70 i@@ -104,7 +108,7 @@ void print_cur_str(FILE *f, tstack_t *t){ Err bitreich.org 70 i /* global variables */ Err bitreich.org 70 i Err bitreich.org 70 i tstack_t st; Err bitreich.org 70 i- Err bitreich.org 70 i+char emitsep; Err bitreich.org 70 i Err bitreich.org 70 i /* xml callbacks */ Err bitreich.org 70 i Err bitreich.org 70 i@@ -174,12 +178,17 @@ xmlcommentend(XMLParser *x) Err bitreich.org 70 i void Err bitreich.org 70 i xmldata(XMLParser *x, const char *d, size_t dl) Err bitreich.org 70 i { Err bitreich.org 70 i+ if (strcspn(d, " \t\n") && emitsep){ Err bitreich.org 70 i+ printf("%c", SEP); Err bitreich.org 70 i+ emitsep = FALSE; Err bitreich.org 70 i+ } Err bitreich.org 70 i quote_print(stdout, d); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i xmldataend(XMLParser *x) Err bitreich.org 70 i { Err bitreich.org 70 i+ emitsep = FALSE; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i@@ -197,7 +206,7 @@ xmldataentity(XMLParser *x, const char *d, size_t dl) Err bitreich.org 70 i void Err bitreich.org 70 i xmldatastart(XMLParser *x) Err bitreich.org 70 i { Err bitreich.org 70 i- printf("%c", SEP); Err bitreich.org 70 i+ emitsep = TRUE; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i@@ -239,6 +248,7 @@ int Err bitreich.org 70 i main(void) Err bitreich.org 70 i { Err bitreich.org 70 i stack_init(&st); Err bitreich.org 70 i+ emitsep = FALSE; Err bitreich.org 70 i XMLParser x = { 0 }; Err bitreich.org 70 i Err bitreich.org 70 i x.xmlattr = xmlattr; Err bitreich.org 70 .