X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fwrbuf.c;h=a649e6464c5849c88261527c72e1d88725068210;hb=53e939f11632e0ef384eee99983478c6bd88c7c8;hp=c3fea1f5d40e089a6685e82a3ab1e44a864aacee;hpb=12e68873046de1fc08b5589891914ec2cdc3d453;p=yaz-moved-to-github.git diff --git a/util/wrbuf.c b/util/wrbuf.c index c3fea1f..a649e64 100644 --- a/util/wrbuf.c +++ b/util/wrbuf.c @@ -1,9 +1,8 @@ /* - * Copyright (c) 1995-2002, Index Data. + * Copyright (c) 1995-2003, Index Data. * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss * - * $Id: wrbuf.c,v 1.11 2002-10-22 14:40:21 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;