X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcclqfile.c;h=df98f33435b1004a864dcf902b5b3aab1ee70a16;hp=3d64a729c8eb36f3d34d54c514d1e1280a14b8f3;hb=55b4bc7eb9295ce335fad273d08d82d62ce4b7ea;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292 diff --git a/src/cclqfile.c b/src/cclqfile.c index 3d64a72..df98f33 100644 --- a/src/cclqfile.c +++ b/src/cclqfile.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ /** @@ -132,6 +132,8 @@ int ccl_qual_field2(CCL_bibset bibset, const char *cp, const char *qual_name, value = CCL_BIB1_REL_ORDER; else if (!ccl_stricmp (value_str, "r")) value = CCL_BIB1_REL_PORDER; + else if (!ccl_stricmp (value_str, "omiteq")) + value = CCL_BIB1_REL_OMIT_EQUALS; break; case 'p': case 'P': @@ -234,12 +236,24 @@ void ccl_qual_field(CCL_bibset bibset, const char *cp, const char *qual_name) yaz_log(YLOG_WARN, "ccl_qual_field2 fail: %s", addinfo); } -void ccl_qual_fitem (CCL_bibset bibset, const char *cp, const char *qual_name) +int ccl_qual_fitem2(CCL_bibset bibset, const char *cp, const char *qual_name, + const char **addinfo) { if (*qual_name == '@') + { + /* ccl_qual_add_special can not return error (yet) */ ccl_qual_add_special(bibset, qual_name+1, cp); + *addinfo = 0; + return 0; + } else - ccl_qual_field(bibset, cp, qual_name); + return ccl_qual_field2(bibset, cp, qual_name, addinfo); +} + +void ccl_qual_fitem(CCL_bibset bibset, const char *cp, const char *qual_name) +{ + const char *addinfo = 0; + ccl_qual_fitem2(bibset, cp, qual_name, &addinfo); } void ccl_qual_buf(CCL_bibset bibset, const char *buf)