X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fwrbuf.c;fp=util%2Fwrbuf.c;h=a649e6464c5849c88261527c72e1d88725068210;hb=9360e7e7d56e77fb1253faa1232c0417cd5d3ee3;hp=338ce096550e6652105d1cd37ab993d8f915b517;hpb=e1efa4cdf426e7eb952584ed4b9d3b818c8ff070;p=yaz-moved-to-github.git diff --git a/util/wrbuf.c b/util/wrbuf.c index 338ce09..a649e64 100644 --- a/util/wrbuf.c +++ b/util/wrbuf.c @@ -1,9 +1,8 @@ /* * Copyright (c) 1995-2003, Index Data. * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss * - * $Id: wrbuf.c,v 1.12 2003-01-06 08:20:28 adam Exp $ + * $Id: wrbuf.c,v 1.13 2003-07-14 12:58:18 adam Exp $ */ /* @@ -80,6 +79,37 @@ int wrbuf_puts(WRBUF b, const char *buf) return 0; } +int wrbuf_xmlputs(WRBUF b, const char *cp) +{ + while (*cp) + { + switch(*cp) + { + case '<': + wrbuf_puts(b, "<"); + break; + case '>': + wrbuf_puts(b, ">"); + break; + case '&': + wrbuf_puts(b, "&"); + break; + case '"': + wrbuf_puts(b, """); + break; + case '\'': + wrbuf_puts(b, "'"); + break; + default: + wrbuf_putc(b, *cp); + } + cp++; + } + wrbuf_putc(b, 0); + (b->pos)--; + return 0; +} + void wrbuf_printf(WRBUF b, const char *fmt, ...) { va_list ap;