iquote newline and tabs; set separator and attribute assign chars - 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 d1d29f3306ef651796d171c8d406b14fc74778ca /scm/xml2tsv/commit/d1d29f3306ef651796d171c8d406b14fc74778ca.gph bitreich.org 70
1parent 171b4c872cde8fea8cd6ddc0bc5df3e3bb5c3dcb /scm/xml2tsv/commit/171b4c872cde8fea8cd6ddc0bc5df3e3bb5c3dcb.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Sat, 4 Jan 2020 01:31:40 +0000 Err bitreich.org 70
i Err bitreich.org 70
iquote newline and tabs; set separator and attribute assign chars Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M xml2tsv.c | 23 ++++++++++++++++------- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 16 insertions(+), 7 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,7 +19,8 @@ Err bitreich.org 70
i Err bitreich.org 70
i #define STR_MAX 128 Err bitreich.org 70
i #define DEPTH_MAX 50 Err bitreich.org 70
i- Err bitreich.org 70
i+#define SEP '\t' Err bitreich.org 70
i+#define SATTR '=' Err bitreich.org 70
i Err bitreich.org 70
i /* tag stack */ Err bitreich.org 70
i Err bitreich.org 70
i@@ -65,11 +66,19 @@ void print_no_cr(FILE *f, const char *s){ Err bitreich.org 70
i const char *tmp = s; Err bitreich.org 70
i size_t len; Err bitreich.org 70
i while (*tmp != '\0'){ Err bitreich.org 70
i- len = strcspn(tmp, "\n"); Err bitreich.org 70
i+ len = strcspn(tmp, "\n\t"); Err bitreich.org 70
i fwrite(tmp, 1, len, f); Err bitreich.org 70
i tmp += len; Err bitreich.org 70
i- if (tmp[len] == '\n') Err bitreich.org 70
i- tmp++; Err bitreich.org 70
i+ if (*tmp == '\n'){ Err bitreich.org 70
i+ if (len > 0){ Err bitreich.org 70
i+ fprintf(f, "\\n"); Err bitreich.org 70
i+ } Err bitreich.org 70
i+ tmp ++; Err bitreich.org 70
i+ } Err bitreich.org 70
i+ else if (*tmp == '\t'){ Err bitreich.org 70
i+ fprintf(f, "\\t"); Err bitreich.org 70
i+ tmp ++; Err bitreich.org 70
i+ } Err bitreich.org 70
i } Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i@@ -115,13 +124,13 @@ xmlattrend(XMLParser *x, const char *t, size_t tl, const char *a, size_t al) Err bitreich.org 70
i void Err bitreich.org 70
i xmlattrstart(XMLParser *x, const char *t, size_t tl, const char *a, size_t al) Err bitreich.org 70
i { Err bitreich.org 70
i- printf("\t%s=", a); Err bitreich.org 70
i+ printf("%c%s%c", SEP, a, SATTR); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i xmlcdatastart(XMLParser *x) Err bitreich.org 70
i { Err bitreich.org 70
i- printf("\t"); Err bitreich.org 70
i+ printf("%c", SEP); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i@@ -176,7 +185,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("\t"); Err bitreich.org 70
i+ printf("%c", SEP); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
.
Response:
text/plain