-/*
- * Copyright (c) 2002-2004, Index Data.
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2010 Index Data
* See the file LICENSE for details.
- *
- * $Id: grs1disp.c,v 1.2 2004-10-15 00:19:00 adam Exp $
*/
/**
#include <ctype.h>
#include <yaz/proto.h>
+#include <yaz/oid_db.h>
static void display_variant(WRBUF w, Z_Variant *v, int level)
{
for (i = 0; i < v->num_triples; i++)
{
- printf("%*sclass=%d,type=%d", level * 4, "", *v->triples[i]->zclass,
- *v->triples[i]->type);
+ wrbuf_printf(w, "%*sclass=" ODR_INT_PRINTF ",type=" ODR_INT_PRINTF,
+ level * 4, "", *v->triples[i]->zclass,
+ *v->triples[i]->type);
if (v->triples[i]->which == Z_Triple_internationalString)
- printf(",value=%s\n", v->triples[i]->value.internationalString);
+ wrbuf_printf(w, ",value=%s\n",
+ v->triples[i]->value.internationalString);
else
- printf("\n");
+ wrbuf_printf(w, "\n");
}
}
t = r->elements[i];
wrbuf_printf(w, "(");
if (t->tagType)
- wrbuf_printf(w, "%d,", *t->tagType);
+ wrbuf_printf(w, ODR_INT_PRINTF, *t->tagType);
else
wrbuf_printf(w, "?,");
if (t->tagValue->which == Z_StringOrNumeric_numeric)
- wrbuf_printf(w, "%d) ", *t->tagValue->u.numeric);
+ wrbuf_printf(w, ODR_INT_PRINTF ") ", *t->tagValue->u.numeric);
else
wrbuf_printf(w, "%s) ", t->tagValue->u.string);
if (t->content->which == Z_ElementData_subtree)
}
}
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);
+ {
+ wrbuf_printf(w, ODR_INT_PRINTF "\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)
void yaz_display_grs1(WRBUF wrbuf, Z_GenericRecord *r, int flags)
{
- display_grs1 (wrbuf, r, 0);
+ display_grs1(wrbuf, r, 0);
}
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+