-/* $Id: res.c,v 1.40 2005-03-30 09:25:25 adam Exp $
+/* $Id: res.c,v 1.44 2005-08-17 21:28:07 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
#include <assert.h>
#ifdef WIN32
#include <io.h>
-#else
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
#endif
+#include <yaz/yaz-util.h>
#include <idzebra/res.h>
struct res_entry {
return r;
}
-void res_close (Res r)
+void res_clear (Res r)
{
- if (!r)
- return;
if (r->init)
{
struct res_entry *re, *re1;
xfree (re);
}
}
+ r->init = 0;
+ r->first = r->last = NULL;
+}
+
+void res_close (Res r)
+{
+ if (!r)
+ return;
+ res_clear(r);
+
xfree (r->name);
xfree (r);
}
return 0;
}
+ZEBRA_RES res_get_int(Res r, const char *name, int *val)
+{
+ const char *cp = res_get(r, name);
+ if (cp)
+ {
+ if (sscanf(cp, "%d", val) == 1)
+ return ZEBRA_OK;
+ yaz_log(YLOG_WARN, "Expected integer for resource %s", name);
+ }
+ return ZEBRA_FAIL;
+}