X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=util%2Fwrbuf.c;fp=util%2Fwrbuf.c;h=0000000000000000000000000000000000000000;hp=a649e6464c5849c88261527c72e1d88725068210;hb=c6e47cbbff56f39f6d81b079ebaeac41d793d4d9;hpb=c71d717ada2a9ef730d527f161eb5ba9aa641a9f diff --git a/util/wrbuf.c b/util/wrbuf.c deleted file mode 100644 index a649e64..0000000 --- a/util/wrbuf.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) 1995-2003, Index Data. - * See the file LICENSE for details. - * - * $Id: wrbuf.c,v 1.13 2003-07-14 12:58:18 adam Exp $ - */ - -/* - * Growing buffer for writing various stuff. - */ - -#if HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include - -WRBUF wrbuf_alloc(void) -{ - WRBUF n; - - if (!(n = (WRBUF)xmalloc(sizeof(*n)))) - abort(); - n->buf = 0; - n->size = 0; - n->pos = 0; - return n; -} - -void wrbuf_free(WRBUF b, int free_buf) -{ - if (free_buf && b->buf) - xfree(b->buf); - xfree(b); -} - -void wrbuf_rewind(WRBUF b) -{ - b->pos = 0; -} - -int wrbuf_grow(WRBUF b, int minsize) -{ - int togrow; - - if (!b->size) - togrow = 1024; - else - togrow = b->size; - if (togrow < minsize) - togrow = minsize; - if (b->size && !(b->buf =(char *)xrealloc(b->buf, b->size += togrow))) - abort(); - else if (!b->size && !(b->buf = (char *)xmalloc(b->size = togrow))) - abort(); - return 0; -} - -int wrbuf_write(WRBUF b, const char *buf, int size) -{ - if (size <= 0) - return 0; - if (b->pos + size >= b->size) - wrbuf_grow(b, size); - memcpy(b->buf + b->pos, buf, size); - b->pos += size; - return 0; -} - -int wrbuf_puts(WRBUF b, const char *buf) -{ - wrbuf_write(b, buf, strlen(buf)+1); /* '\0'-terminate as well */ - (b->pos)--; /* don't include '\0' in count */ - 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; - char buf[4096]; - - va_start(ap, fmt); -#ifdef WIN32 - _vsnprintf(buf, sizeof(buf)-1, fmt, ap); -#else -/* !WIN32 */ -#if HAVE_VSNPRINTF - vsnprintf(buf, sizeof(buf)-1, fmt, ap); -#else - vsprintf(buf, fmt, ap); -#endif -#endif - wrbuf_puts (b, buf); - - va_end(ap); -} -