X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fotherinfo.c;h=aac8c9e62cd4091e101642836e26de8282605add;hp=4cf95c864f82bf574a3ea9af220429553b99178b;hb=4efb9de61a4284830d3dde10a992a42067879c84;hpb=fb6d99a0c7e07d9cc4a315c447deaf6564a85505 diff --git a/src/otherinfo.c b/src/otherinfo.c index 4cf95c8..aac8c9e 100644 --- a/src/otherinfo.c +++ b/src/otherinfo.c @@ -1,8 +1,6 @@ -/* - * Copyright (C) 1995-2005, Index Data ApS +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2009 Index Data * See the file LICENSE for details. - * - * $Id: otherinfo.c,v 1.4 2005-06-25 15:46:04 adam Exp $ */ /** * \file otherinfo.c @@ -73,7 +71,7 @@ void yaz_oi_APDU(Z_APDU *apdu, Z_OtherInformation ***oip) Z_OtherInformationUnit *yaz_oi_update ( Z_OtherInformation **otherInformationP, ODR odr, - int *oid, int categoryValue, int delete_flag) + const Odr_oid *oid, int categoryValue, int delete_flag) { int i; Z_OtherInformation *otherInformation; @@ -138,12 +136,10 @@ Z_OtherInformationUnit *yaz_oi_update ( { otherInformation->list[i]->category = (Z_InfoCategory*) odr_malloc (odr, sizeof(Z_InfoCategory)); - otherInformation->list[i]->category->categoryTypeId = (int*) + otherInformation->list[i]->category->categoryTypeId = (Odr_oid*) odr_oiddup (odr, oid); - otherInformation->list[i]->category->categoryValue = (int*) - odr_malloc (odr, sizeof(int)); - *otherInformation->list[i]->category->categoryValue = - categoryValue; + otherInformation->list[i]->category->categoryValue = + odr_intdup(odr, categoryValue); } else otherInformation->list[i]->category = 0; @@ -157,7 +153,7 @@ Z_OtherInformationUnit *yaz_oi_update ( void yaz_oi_set_string_oid ( Z_OtherInformation **otherInformation, ODR odr, - int *oid, int categoryValue, + const Odr_oid *oid, int categoryValue, const char *str) { Z_OtherInformationUnit *oi = @@ -168,52 +164,23 @@ void yaz_oi_set_string_oid ( oi->information.characterInfo = odr_strdup (odr, str); } -void yaz_oi_set_string_oidval ( - Z_OtherInformation **otherInformation, ODR odr, - int oidval, int categoryValue, - const char *str) -{ - int oid[OID_SIZE]; - struct oident ent; - ent.proto = PROTO_Z3950; - ent.oclass = CLASS_USERINFO; - ent.value = (oid_value) oidval; - if (!oid_ent_to_oid (&ent, oid)) - return ; - yaz_oi_set_string_oid(otherInformation, - odr, oid, categoryValue, str); -} - char *yaz_oi_get_string_oid ( Z_OtherInformation **otherInformation, - int *oid, int categoryValue, int delete_flag) + const Odr_oid *oid, int categoryValue, int delete_flag) { Z_OtherInformationUnit *oi; - if ((oi = yaz_oi_update(otherInformation, 0, oid, 1, delete_flag)) && + if ((oi = yaz_oi_update(otherInformation, 0, oid, categoryValue, + delete_flag)) && oi->which == Z_OtherInfo_characterInfo) return oi->information.characterInfo; return 0; } -char *yaz_oi_get_string_oidval(Z_OtherInformation **otherInformation, - int oidval, int categoryValue, int delete_flag) -{ - int oid[OID_SIZE]; - struct oident ent; - ent.proto = PROTO_Z3950; - ent.oclass = CLASS_USERINFO; - ent.value = (oid_value) oidval; - - if (!oid_ent_to_oid (&ent, oid)) - return 0; - return yaz_oi_get_string_oid (otherInformation, oid, categoryValue, - delete_flag); -} - /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab