X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fres.c;h=0864a9177e8789e66f4a5c163972b25f5d467281;hb=cb1317543281a64aeb8b389d5cdfffa5bb2cde90;hp=0b2cc7591bde6cfda25bdcfad153d609c9acbd8f;hpb=b879b04a092d5b00cc866cf16f755e55053d2e89;p=idzebra-moved-to-github.git diff --git a/util/res.c b/util/res.c index 0b2cc75..0864a91 100644 --- a/util/res.c +++ b/util/res.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: res.c,v $ - * Revision 1.13 1995-09-04 12:34:05 adam + * Revision 1.15 1996-05-22 08:23:43 adam + * Bug fix: trailing blanks in resource values where not removed. + * + * Revision 1.14 1996/04/26 11:51:20 adam + * Resource names are matched by the yaz_matchstr routine instead of strcmp. + * + * Revision 1.13 1995/09/04 12:34:05 adam * Various cleanup. YAZ util used instead. * * Revision 1.12 1995/01/24 16:40:32 adam @@ -50,6 +56,7 @@ #include #include #include +#include static struct res_entry *add_entry (Res r) { @@ -136,6 +143,10 @@ static void reread (Res r) { if (fr_buf[no] == '\0' || fr_buf[no] == '\n') { + while (val_size > 0 && + (val_buf[val_size-1] == ' ' || + val_buf[val_size-1] == '\t')) + val_size--; val_buf[val_size++] = '\0'; resp->value = xmalloc (val_size); strcpy (resp->value, val_buf); @@ -213,7 +224,7 @@ char *res_get (Res r, const char *name) if (!r->init) reread (r); for (re = r->first; re; re=re->next) - if (re->value && !strcmp (re->name, name)) + if (re->value && !yaz_matchstr (re->name, name)) return re->value; return NULL; } @@ -239,7 +250,7 @@ void res_put (Res r, const char *name, const char *value) reread (r); for (re = r->first; re; re=re->next) - if (re->value && !strcmp (re->name, name)) + if (re->value && !yaz_matchstr (re->name, name)) { xfree (re->value); re->value = xstrdup (value);