📄 wrbuf.h
字号:
/* * Copyright (c) 1995-2003, Index Data. * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, * provided that: * * 1. This copyright and permission notice appear in all copies of the * software and its documentation. Notices of copyright or attribution * which appear at the beginning of any file must remain unchanged. * * 2. The names of Index Data or the individual authors may not be used to * endorse or promote products derived from this software without specific * prior written permission. * * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL, * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * * $Id: wrbuf.h,v 1.9 2003/07/14 12:58:18 adam Exp $ * */#ifndef WRBUF_H#define WRBUF_H#include <yaz/xmalloc.h>YAZ_BEGIN_CDECLtypedef struct wrbuf{ char *buf; int pos; int size;} wrbuf, *WRBUF;YAZ_EXPORT WRBUF wrbuf_alloc(void);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_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, ...);#define wrbuf_len(b) ((b)->pos)#define wrbuf_buf(b) ((b)->buf)#define wrbuf_putc(b, c) \ (((b)->pos >= (b)->size ? wrbuf_grow(b, 1) : 0), \ (b)->buf[(b)->pos++] = (c), 0)YAZ_END_CDECL#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -