X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fattribute.c;h=cfeb007726a1701feffcfb6974e677c6786c0e05;hb=23c386f2b4511acfdb389adc7f48f15d284c639c;hp=22bba54acd8cbfef74c92adb85e3120d9f70d4d3;hpb=ddfbbc116fdaf64910c86b87013757b88d73d6b6;p=idzebra-moved-to-github.git diff --git a/index/attribute.c b/index/attribute.c index 22bba54..cfeb007 100644 --- a/index/attribute.c +++ b/index/attribute.c @@ -1,6 +1,6 @@ -/* $Id: attribute.c,v 1.15 2004-05-26 13:52:25 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 - Index Data Aps +/* $Id: attribute.c,v 1.21 2006-02-22 08:42:16 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -20,13 +20,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - #include #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;