/*
- * Copyright (c) 1995-1998, Index Data.
+ * Copyright (c) 1995-1999, Index Data.
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: client.c,v $
- * Revision 1.70 1998-09-22 09:40:37 adam
+ * Revision 1.75 1999-02-01 15:37:32 adam
+ * Fixed minor bug introduced by previous commit.
+ *
+ * Revision 1.74 1999/02/01 15:35:21 adam
+ * Added XML display.
+ *
+ * Revision 1.73 1998/10/20 13:55:43 quinn
+ * Fixed Scan bug in asn and client
+ *
+ * Revision 1.72 1998/10/20 13:23:15 quinn
+ * changed preferred pos to 1
+ *
+ * Revision 1.71 1998/10/20 13:21:43 adam
+ * Fixed scan response handler.
+ *
+ * Revision 1.70 1998/09/22 09:40:37 adam
* Minor changes in sort spec.
*
* Revision 1.69 1998/08/19 16:10:06 adam
printf("%.*s", r->u.octet_aligned->len, r->u.octet_aligned->buf);
else if (r->which == Z_External_octet && p->u.octet_aligned->len)
{
- const char *marc_buf = (char*)p->u.octet_aligned->buf;
- marc_display (marc_buf, NULL);
+ const char *octet_buf = (char*)p->u.octet_aligned->buf;
+ if (ent->value == VAL_TEXT_XML || ent->value == VAL_APPLICATION_XML)
+ {
+ fwrite (octet_buf, 1, p->u.octet_aligned->len, stdout);
+ printf ("\n");
+ }
+ else
+ marc_display (octet_buf, NULL);
if (marcdump)
- fwrite (marc_buf, strlen (marc_buf), 1, marcdump);
+ fwrite (octet_buf, 1, p->u.octet_aligned->len, marcdump);
}
else if (ent && ent->value == VAL_SUTRS)
{
fflush(stdout);
send_itemorder(arg);
- return(1);
+ return(2);
}
static int cmd_find(char *arg)
printf("Scan returned code %d\n", *res->scanStatus);
if (!res->entries)
return;
-#ifdef ASN_COMPILED
if ((entries = res->entries->entries))
num_entries = res->entries->num_entries;
-#else
- if (res->entries->which == Z_ListEntries_entries)
- {
- entries = res->entries->u.entries->entries;
- num_entries = res->entries->u.entries->num_entries;
- }
-#endif
for (i = 0; i < num_entries; i++)
+ {
+ int pos_term = res->positionOfTerm ? *res->positionOfTerm : -1;
if (entries[i]->which == Z_Entry_termInfo)
{
- printf("%c ", i + 1 == *res->positionOfTerm ? '*' : ' ');
+ printf("%c ", i + 1 == pos_term ? '*' : ' ');
display_term(entries[i]->u.termInfo);
}
else
display_diagrecs(&entries[i]->u.surrogateDiagnostic, 1);
-#ifdef ASN_COMPILED
+ }
if (res->entries->nonsurrogateDiagnostics)
display_diagrecs (res->entries->nonsurrogateDiagnostics,
res->entries->num_nonsurrogateDiagnostics);
-#else
- if (res->entries->which == Z_ListEntries_nonSurrogateDiagnostics)
- display_diagrecs(&res->entries->
- u.nonSurrogateDiagnostics->diagRecs[0], 1);
-#endif
}
void process_sortResponse(Z_SortResponse *res)
}
if (*arg)
{
- if (send_scanrequest(arg, 5, 20) < 0)
+ if (send_scanrequest(arg, 1, 20) < 0)
return 0;
}
else