+ (b)->buf[(b)->pos++] = (c))
+
+
+/** \brief writes JSON text to WRBUF with escaping
+ \param b result
+ \param str input string to be encoded
+*/
+YAZ_EXPORT
+void wrbuf_json_puts(WRBUF b, const char *str);
+
+/** \brief writes JSON text to WRBUF with escaping
+ \param b result
+ \param cp char buffer
+ \param sz size of char buffer
+*/
+YAZ_EXPORT
+void wrbuf_json_write(WRBUF b, const char *cp, size_t sz);
+
+YAZ_EXPORT
+void wrbuf_iconv_json_write(WRBUF b, yaz_iconv_t cd,
+ const char *buf, size_t size);
+
+YAZ_EXPORT
+void wrbuf_iconv_json_puts(WRBUF b, yaz_iconv_t cd, const char *strz);
+
+/** \brief writes SHA1 text to WRBUF
+ \param b result
+ \param cp char buffer
+ \param sz size of char buffer
+ \param hexit 1=hex mode; 0=binary
+ \returns 0 if successful
+ \returns -1 on error
+*/
+YAZ_EXPORT
+int wrbuf_sha1_write(WRBUF b, const char *cp, size_t sz, int hexit);
+
+/** \brief writes SHA1 text to WRBUF
+ \param b result
+ \param cp C-string
+ \param hexit 1=hex mode; 0=binary
+ \returns 0 if successful
+ \returns -1 on error
+*/
+YAZ_EXPORT
+int wrbuf_sha1_puts(WRBUF b, const char *cp, int hexit);