X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fattribute.c;h=cfeb007726a1701feffcfb6974e677c6786c0e05;hb=746f36f2b12f2a342dc0213cb03458359a493c8f;hp=4ea12f7e72859c905df3cafae8872f80fd29d871;hpb=6c9fcd3b5d3108702fa1ffc92dab4ab6060f9a19;p=idzebra-moved-to-github.git diff --git a/index/attribute.c b/index/attribute.c index 4ea12f7..cfeb007 100644 --- a/index/attribute.c +++ b/index/attribute.c @@ -1,4 +1,4 @@ -/* $Id: attribute.c,v 1.19 2005-01-15 19:38:24 adam Exp $ +/* $Id: attribute.c,v 1.21 2006-02-22 08:42:16 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -20,13 +20,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - #include #include #include -#include +#include #include "index.h" static data1_att *getatt(data1_attset *p, int att, const char *sattr) @@ -58,8 +56,13 @@ int att_getentbyatt(ZebraHandle zi, attent *res, oid_value set, int att, zebraExplain_loadAttsets (zi->reg->dh, zi->res); p = data1_attset_search_id (zi->reg->dh, set); } - if (!p) - return -2; + if (!p) /* set undefined */ + { + if (sattr) + return -1; /* return bad string attribute */ + else + return -2; /* return bad set */ + } if (!(r = getatt(p, att, sattr))) return -1; res->attset_ordinal = r->parent->reference;