From 3a4f37bf02075e0ad4b56b2b1f7bf9ac9cada998 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 17 Aug 2005 21:28:07 +0000 Subject: [PATCH] Added a utility res_clear which removes/clears all items in a resource handle. --- include/idzebra/res.h | 5 ++++- util/res.c | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/include/idzebra/res.h b/include/idzebra/res.h index da219d5..8c68715 100644 --- a/include/idzebra/res.h +++ b/include/idzebra/res.h @@ -1,4 +1,4 @@ -/* $Id: res.h,v 1.5 2005-06-13 10:27:52 adam Exp $ +/* $Id: res.h,v 1.6 2005-08-17 21:28:07 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -36,6 +36,9 @@ YAZ_EXPORT void res_close (Res r); YAZ_EXPORT +void res_clear (Res r); + +YAZ_EXPORT const char *res_get (Res r, const char *name); YAZ_EXPORT diff --git a/util/res.c b/util/res.c index 7f30b8c..15e65e5 100644 --- a/util/res.c +++ b/util/res.c @@ -1,4 +1,4 @@ -/* $Id: res.c,v 1.43 2005-06-14 20:28:54 adam Exp $ +/* $Id: res.c,v 1.44 2005-08-17 21:28:07 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -271,10 +271,8 @@ Res res_open (const char *name, Res def_res, Res over_res) return r; } -void res_close (Res r) +void res_clear (Res r) { - if (!r) - return; if (r->init) { struct res_entry *re, *re1; @@ -288,6 +286,16 @@ void res_close (Res r) 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); } -- 1.7.10.4