+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;
+}
+