X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoomsh.c;h=8b790f15102abfc3700b2b1f1265af631b277ad7;hb=0725af5d06bfcdaf9888886f04c63810c1d8cf72;hp=ad829489bffcab461aa02459a548879f6064ad22;hpb=16ee7ff60aee87829916837bcb2a200ce72870d9;p=yaz-moved-to-github.git diff --git a/zoom/zoomsh.c b/zoom/zoomsh.c index ad82948..8b790f1 100644 --- a/zoom/zoomsh.c +++ b/zoom/zoomsh.c @@ -1,8 +1,8 @@ /* - * Copyright (C) 1995-2005, Index Data ApS + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: zoomsh.c,v 1.41 2006-04-24 10:30:44 adam Exp $ + * $Id: zoomsh.c,v 1.47 2007-04-17 20:26:19 adam Exp $ */ /** \file zoomsh.c @@ -28,7 +28,6 @@ #include #include #include -#include #define MAX_CON 100 @@ -184,22 +183,34 @@ static void display_records (ZOOM_connection c, int pos = i + start; ZOOM_record rec = ZOOM_resultset_record (r, pos); const char *db = ZOOM_record_get (rec, "database", 0); - int len, opac_len; - const char *render = ZOOM_record_get (rec, "render", &len); - const char *opac_render = ZOOM_record_get (rec, "opac", &opac_len); - const char *syntax = ZOOM_record_get (rec, "syntax", 0); - /* if rec is non-null, we got a record for display */ - if (rec) + + if (ZOOM_record_error(rec, 0, 0, 0)) + { + const char *msg; + const char *addinfo; + const char *diagset; + int error = ZOOM_record_error(rec, &msg, &addinfo, &diagset); + + printf("%d %s: %s (%s:%d) %s\n", pos, (db ? db : "unknown"), + msg, diagset, error, addinfo); + } + else { - char oidbuf[100]; - (void) oid_name_to_dotstring(CLASS_RECSYN, syntax, oidbuf); - printf ("%d %s %s (%s)\n", - pos+1, (db ? db : "unknown"), syntax, oidbuf); - if (render) - fwrite (render, 1, len, stdout); - printf ("\n"); - if (opac_render) - fwrite (opac_render, 1, opac_len, stdout); + int len, opac_len; + const char *render = ZOOM_record_get (rec, "render", &len); + const char *opac_render = ZOOM_record_get (rec, "opac", &opac_len); + const char *syntax = ZOOM_record_get (rec, "syntax", 0); + /* if rec is non-null, we got a record for display */ + if (rec) + { + printf ("%d %s %s\n", + pos, (db ? db : "unknown"), syntax); + if (render) + fwrite (render, 1, len, stdout); + printf ("\n"); + if (opac_render) + fwrite (opac_render, 1, opac_len, stdout); + } } } @@ -633,9 +644,7 @@ int main(int argc, char **argv) int mask = yaz_log_mask_str(maskstr); yaz_log_init_level(mask); } - nmem_init(); zoomsh(argc, argv); - nmem_exit(); exit (0); } /*