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 <katolaz@freaknet.org> 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
.
Response:
text/plain