C++ support.
[yaz-moved-to-github.git] / include / wrbuf.h
index a8bcceb..4c011e3 100644 (file)
 #ifndef WRBUF_H
 #define WRBUF_H
 
+#include <yconfig.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct wrbuf
 {
     char *buf;
@@ -41,8 +47,15 @@ void wrbuf_rewind(WRBUF b);
 int wrbuf_grow(WRBUF b, int minsize);
 int wrbuf_write(WRBUF b, char *buf, int size);
 
+#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)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif