+ bfs = bfs_create(res_get(zh->res, "register"), zh->path_reg);
+ inv_compact(bfs);
+ bfs_destroy(bfs);
+ return ZEBRA_OK;
+}
+
+void zebra_result(ZebraHandle zh, int *code, char **addinfo)
+{
+ yaz_log(log_level, "zebra_result");
+ if (zh)
+ {
+ *code = zh->errCode;
+ *addinfo = zh->errString;
+ }
+ else
+ {
+ *code = YAZ_BIB1_TEMPORARY_SYSTEM_ERROR;
+ *addinfo ="ZebraHandle is NULL";
+ }
+}
+
+void zebra_shadow_enable(ZebraHandle zh, int value)
+{
+ ASSERTZH;
+ yaz_log(log_level, "zebra_shadow_enable");
+ zh->shadow_enable = value;
+}
+
+ZEBRA_RES zebra_octet_term_encoding(ZebraHandle zh, const char *encoding)
+{
+ yaz_log(log_level, "zebra_octet_term_encoding %s", encoding);
+ ZEBRA_CHECK_HANDLE(zh);
+ assert(encoding);
+
+ if (zh->iconv_to_utf8 != 0)
+ yaz_iconv_close(zh->iconv_to_utf8);
+ if (zh->iconv_from_utf8 != 0)
+ yaz_iconv_close(zh->iconv_from_utf8);
+
+ zh->iconv_to_utf8 =
+ yaz_iconv_open("UTF-8", encoding);
+ if (zh->iconv_to_utf8 == 0)
+ yaz_log(YLOG_WARN, "iconv: %s to UTF-8 unsupported", encoding);
+ zh->iconv_from_utf8 =
+ yaz_iconv_open(encoding, "UTF-8");
+ if (zh->iconv_to_utf8 == 0)
+ yaz_log(YLOG_WARN, "iconv: UTF-8 to %s unsupported", encoding);
+
+ return ZEBRA_OK;
+}
+
+ZEBRA_RES zebra_record_encoding(ZebraHandle zh, const char *encoding)
+{
+ yaz_log(log_level, "zebra_record_encoding");
+ ZEBRA_CHECK_HANDLE(zh);
+ xfree(zh->record_encoding);
+ zh->record_encoding = 0;
+ if (encoding)
+ zh->record_encoding = xstrdup(encoding);
+ return ZEBRA_OK;
+}
+
+void zebra_set_resource(ZebraHandle zh, const char *name, const char *value)
+{
+ assert(name);
+ assert(value);
+ yaz_log(log_level, "zebra_set_resource %s:%s", name, value);
+ ASSERTZH;
+ res_set(zh->res, name, value);