* Sebastian Hammer, Adam Dickmeiss
*
* $Log: seshigh.c,v $
- * Revision 1.81 1998-10-13 16:12:24 adam
+ * Revision 1.83 1998-11-03 10:09:36 adam
+ * Fixed bug regarding YC.
+ *
+ * Revision 1.82 1998/10/20 14:00:30 quinn
+ * Fixed Scan
+ *
+ * Revision 1.81 1998/10/13 16:12:24 adam
* Added support for Surrogate Diagnostics for Scan Term entries.
*
* Revision 1.80 1998/09/02 12:41:53 adam
Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec));
Z_DefaultDiagFormat *rec = (Z_DefaultDiagFormat *)odr_malloc (assoc->encode, sizeof(*rec));
- logf(LOG_DEBUG, "DiagRecs: %d -- %s", error, addinfo);
+ logf(LOG_DEBUG, "DiagRecs: %d -- %s", error, addinfo ? addinfo : "");
bib1.proto = assoc->proto;
bib1.oclass = CLASS_DIAGSET;
bib1.value = VAL_BIB1;
res->numberOfEntriesReturned = numberOfEntriesReturned;
res->positionOfTerm = 0;
res->entries = ents;
-#if ASN_COMPILED
ents->num_entries = 0;
ents->entries = NULL;
ents->num_nonsurrogateDiagnostics = 0;
ents->nonsurrogateDiagnostics = NULL;
-#else
- ents->which = Z_ListEntries_entries;
-#endif
res->attributeSet = 0;
res->otherInfo = 0;
else
{
int i;
-#ifdef ASN_COMPILED
-#else
- Z_Entries *list = (Z_Entries *)
- odr_malloc (assoc->encode, sizeof(*list));
-#endif
Z_Entry **tab = (Z_Entry **)
odr_malloc (assoc->encode, sizeof(*tab) * srs->num_entries);
*scanStatus = Z_Scan_partial_5;
else
*scanStatus = Z_Scan_success;
-#ifdef ASN_COMPILED
ents->entries = tab;
ents->num_entries = srs->num_entries;
res->numberOfEntriesReturned = &ents->num_entries;
-#else
- ents->u.entries = list;
- list->entries = tab;
- list->num_entries = srs->num_entries;
- res->numberOfEntriesReturned = &list->num_entries;
-#endif
res->positionOfTerm = &srs->term_position;
for (i = 0; i < srs->num_entries; i++)
{
}
else
{
- Z_Records *zrecords = diagrec (assoc,
- srs->entries[i].errcode,
- srs->entries[i].errstring);
- logf(LOG_DEBUG, " term sd code=%d addinfo=%s",
- srs->entries[i].errcode,
- (srs->entries[i].errstring?srs->entries[i].errstring :
- "<null>"));
- assert (zrecords->which == Z_Records_NSD);
+ Z_DiagRecs *drecs = diagrecs (assoc,
+ srs->entries[i].errcode,
+ srs->entries[i].errstring);
+ assert (drecs->num_diagRecs == 1);
e->which = Z_Entry_surrogateDiagnostic;
- e->u.surrogateDiagnostic =
- zrecords->u.nonSurrogateDiagnostic;
+ assert (drecs->diagRecs[0]);
+ e->u.surrogateDiagnostic = drecs->diagRecs[0];
}
}
}
}
if (diagrecs_p)
{
-#ifdef ASN_COMPILED
ents->num_nonsurrogateDiagnostics = diagrecs_p->num_diagRecs;
ents->nonsurrogateDiagnostics = diagrecs_p->diagRecs;
-#else
- ents->u.nonSurrogateDiagnostics = diagrecs_p;
- ents->which = Z_ListEntries_nonSurrogateDiagnostics;
-#endif
}
return apdu;
}