X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fgrs1disp.c;h=dc5a5bd397eb8a0b88197f4b7ccfd18c6dbcf6e6;hp=bef6b3d7e4c862d847f8fc5c94293c95742d0802;hb=d940392c53c32ccf76fb287cc5b997b9e921a431;hpb=c6e47cbbff56f39f6d81b079ebaeac41d793d4d9 diff --git a/src/grs1disp.c b/src/grs1disp.c index bef6b3d..dc5a5bd 100644 --- a/src/grs1disp.c +++ b/src/grs1disp.c @@ -1,8 +1,11 @@ -/* - * Copyright (c) 2002, Index Data. +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2008 Index Data * See the file LICENSE for details. - * - * $Id: grs1disp.c,v 1.1 2003-10-27 12:21:30 adam Exp $ + */ + +/** + * \file grs1disp.c + * \brief Implements display of GRS-1 records */ #include @@ -11,6 +14,7 @@ #include #include +#include static void display_variant(WRBUF w, Z_Variant *v, int level) { @@ -61,22 +65,27 @@ static void display_grs1(WRBUF w, Z_GenericRecord *r, int level) } } else if (t->content->which == Z_ElementData_string) - wrbuf_printf(w, "%s\n", t->content->u.string); + { + wrbuf_puts(w, t->content->u.string); + wrbuf_puts(w, "\n"); + } else if (t->content->which == Z_ElementData_numeric) + { wrbuf_printf(w, "%d\n", *t->content->u.numeric); + } else if (t->content->which == Z_ElementData_oid) { - int *ip = t->content->u.oid; - oident *oent; - - if ((oent = oid_getentbyoid(t->content->u.oid))) - wrbuf_printf(w, "OID: %s\n", oent->desc); - else + Odr_oid *ip = t->content->u.oid; + + if (ip) { - wrbuf_printf(w, "{"); - while (ip && *ip >= 0) - wrbuf_printf(w, " %d", *(ip++)); - wrbuf_printf(w, " }\n"); + char oid_name_str[OID_STR_MAX]; + oid_class oclass; + const char *oid_name + = yaz_oid_to_string_buf(ip, &oclass, oid_name_str); + + if (oid_name) + wrbuf_printf(w, "OID: %s\n", oid_name); } } else if (t->content->which == Z_ElementData_noDataRequested) @@ -115,3 +124,11 @@ void yaz_display_grs1(WRBUF wrbuf, Z_GenericRecord *r, int flags) display_grs1 (wrbuf, r, 0); } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +