X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=retrieval%2Fd1_write.c;h=565af5e0b35fc56891d9a634ed5a07b1849c7ea6;hb=6b7929b5e5663fb9a768b11aeaa3f930691e6ece;hp=69d8db6a6726866a8012ab62d5fc5fbe09206691;hpb=0edfdd01ae95aa2770f2e122bdea25208494acbd;p=yaz-moved-to-github.git diff --git a/retrieval/d1_write.c b/retrieval/d1_write.c index 69d8db6..565af5e 100644 --- a/retrieval/d1_write.c +++ b/retrieval/d1_write.c @@ -3,7 +3,7 @@ * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Id: d1_write.c,v 1.15 2002-07-25 12:52:53 adam Exp $ + * $Id: d1_write.c,v 1.17 2002-08-23 14:25:07 adam Exp $ */ #include @@ -42,17 +42,18 @@ static void wrbuf_write_cdata(WRBUF b, const char *msg, int len) case '"': wrbuf_puts (b, """); break; + case '\'': + wrbuf_puts (b, "'"); + break; case '>': wrbuf_puts (b, ">"); break; case '<': wrbuf_puts (b, "<"); break; -#if 0 case '&': wrbuf_puts (b, "&"); break; -#endif default: wrbuf_putc(b, msg[i]); } @@ -220,8 +221,20 @@ char *data1_nodetoidsgml (data1_handle dh, data1_node *n, int select, int *len) wrbuf_rewind(b); + if (!data1_is_xmlmode (dh)) + { + wrbuf_puts (b, "<"); + wrbuf_puts (b, n->u.root.type); + wrbuf_puts (b, ">\n"); + } if (nodetoidsgml(n, select, b, 0, 0 /* no pretty format */)) return 0; + if (!data1_is_xmlmode (dh)) + { + wrbuf_puts (b, "u.root.type); + wrbuf_puts (b, ">\n"); + } *len = wrbuf_len(b); return wrbuf_buf(b); }