X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fwrbuf.h;h=0999a45994dd0d8132831011307118627288c4b6;hb=065092597b2e0234d65b25b31930cbe98ec59738;hp=66ede8cf49606d8430e8aadf122c7c805ba670b3;hpb=d9ee01635f03f9095a66f71b73580560d48798e8;p=yaz-moved-to-github.git diff --git a/include/yaz/wrbuf.h b/include/yaz/wrbuf.h index 66ede8c..0999a45 100644 --- a/include/yaz/wrbuf.h +++ b/include/yaz/wrbuf.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-1997, Index Data. + * Copyright (C) 1995-2005, Index Data ApS * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, @@ -23,34 +23,20 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * - * $Log: wrbuf.h,v $ - * Revision 1.1 1999-11-30 13:47:11 adam - * Improved installation. Moved header files to include/yaz. - * - * Revision 1.8 1999/11/03 09:05:56 adam - * Implemented wrbuf_puts. - * - * Revision 1.7 1999/08/27 09:40:32 adam - * Renamed logf function to yaz_log. Removed VC++ project files. - * - * Revision 1.6 1997/10/31 12:20:08 adam - * Improved memory debugging for xmalloc/nmem.c. References to NMEM - * instead of ODR in n ESPEC-1 handling in source d1_espec.c. - * Bug fix: missing fclose in data1_read_espec1. - * - * Revision 1.5 1997/09/17 12:10:32 adam - * YAZ version 1.4. - * + * $Id: wrbuf.h,v 1.17 2006-04-19 10:05:02 adam Exp $ + */ +/** + * \file wrbuf.h + * \brief Header for WRBUF (growing buffer) */ #ifndef WRBUF_H #define WRBUF_H #include +#include -#ifdef __cplusplus -extern "C" { -#endif +YAZ_BEGIN_CDECL typedef struct wrbuf { @@ -64,7 +50,22 @@ YAZ_EXPORT void wrbuf_free(WRBUF b, int free_buf); YAZ_EXPORT void wrbuf_rewind(WRBUF b); YAZ_EXPORT int wrbuf_grow(WRBUF b, int minsize); YAZ_EXPORT int wrbuf_write(WRBUF b, const char *buf, int size); +YAZ_EXPORT int wrbuf_xmlputs_n(WRBUF b, const char *cp, int size); YAZ_EXPORT int wrbuf_puts(WRBUF b, const char *buf); +YAZ_EXPORT int wrbuf_xmlputs(WRBUF b, const char *cp); +YAZ_EXPORT void wrbuf_printf(WRBUF b, const char *fmt, ...) +#ifdef __GNUC__ + __attribute__ ((format (printf, 2, 3))) +#endif + ; + +YAZ_EXPORT int wrbuf_iconv_write(WRBUF b, yaz_iconv_t cd, const char *buf, + int size); +YAZ_EXPORT int wrbuf_iconv_write_cdata(WRBUF b, yaz_iconv_t cd, + const char *buf, int size); +YAZ_EXPORT int wrbuf_iconv_puts(WRBUF b, yaz_iconv_t cd, const char *strz); + +YAZ_EXPORT void wrbuf_chop_right(WRBUF b); #define wrbuf_len(b) ((b)->pos) #define wrbuf_buf(b) ((b)->buf) @@ -73,8 +74,14 @@ YAZ_EXPORT int wrbuf_puts(WRBUF b, const char *buf); (((b)->pos >= (b)->size ? wrbuf_grow(b, 1) : 0), \ (b)->buf[(b)->pos++] = (c), 0) -#ifdef __cplusplus -} -#endif +YAZ_END_CDECL #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +