X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fres.c;h=7f30b8cb51ce073b5cfaf85f3a2957d38c63ec6d;hb=be32b4e5c154545c2b91b76144d6cbf1238f969a;hp=89ee5c6011d199ca1dc65b197033c17c209876ef;hpb=cd3f39bbae63668b8806ed205132da166e73102f;p=idzebra-moved-to-github.git diff --git a/util/res.c b/util/res.c index 89ee5c6..7f30b8c 100644 --- a/util/res.c +++ b/util/res.c @@ -1,6 +1,6 @@ -/* $Id: res.c,v 1.37 2004-07-26 13:59:25 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps +/* $Id: res.c,v 1.43 2005-06-14 20:28:54 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -26,12 +26,13 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #ifdef WIN32 #include -#else +#endif +#if HAVE_UNISTD_H #include #endif -#include #include +#include struct res_entry { char *name; @@ -151,7 +152,7 @@ static void reread (Res r) fr = fopen (r->name, "r"); if (!fr) { - logf (LOG_WARN|LOG_ERRNO, "Cannot open `%s'", r->name); + yaz_log (YLOG_WARN|YLOG_ERRNO, "Cannot open `%s'", r->name); return ; } val_buf = (char*) xmalloc (val_max); @@ -207,7 +208,7 @@ static void reread (Res r) val_size--; val_buf[val_size] = '\0'; resp->value = xstrdup_env(val_buf); - logf (LOG_DEBUG, "(name=%s,value=%s)", + yaz_log (YLOG_DEBUG, "(name=%s,value=%s)", resp->name, resp->value); break; } @@ -254,7 +255,7 @@ Res res_open (const char *name, Res def_res, Res over_res) if (access (name, R_OK)) #endif { - logf (LOG_WARN|LOG_ERRNO, "Cannot open `%s'", name); + yaz_log (YLOG_WARN|YLOG_ERRNO, "Cannot open `%s'", name); return 0; } } @@ -340,7 +341,7 @@ const char *res_get_def (Res r, const char *name, const char *def) if (!(t = res_get (r, name))) { - logf (LOG_DEBUG, "CAUTION: Using default resource %s:%s", name, def); + yaz_log (YLOG_DEBUG, "CAUTION: Using default resource %s:%s", name, def); return def; } else @@ -416,7 +417,7 @@ int res_write (Res r) fr = fopen (r->name, "w"); if (!fr) { - logf (LOG_FATAL|LOG_ERRNO, "Cannot create `%s'", r->name); + yaz_log (YLOG_FATAL|YLOG_ERRNO, "Cannot create `%s'", r->name); exit (1); } @@ -455,3 +456,14 @@ int res_write (Res 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; +}