+ZOOM_API(const char *)
+ ZOOM_record_get(ZOOM_record rec, const char *type_spec, int *len)
+{
+ WRBUF wrbuf;
+
+ if (len)
+ *len = 0; /* default return */
+
+ if (!rec || !rec->npr)
+ return 0;
+
+#if SHPTR
+ if (!rec->record_wrbuf)
+ {
+ WRBUF w = wrbuf_alloc();
+ YAZ_SHPTR_INIT(rec->record_wrbuf, w);
+ }
+ wrbuf = rec->record_wrbuf->ptr;
+#else
+ if (!rec->wrbuf)
+ rec->wrbuf = wrbuf_alloc();
+ wrbuf = rec->wrbuf;
+#endif
+ return npr_format(rec->npr, rec->schema, wrbuf, type_spec, len);
+}
+