if (!*error)
{
for (i = 0; i < number_to_present; i++)
+ {
if (!recs[i])
break;
+
+ const char *addinfo;
+ int sur_error = ZOOM_record_error(recs[i], 0 /* msg */,
+ &addinfo, 0 /* diagset */);
+ if (sur_error ==
+ YAZ_BIB1_SYSTEM_ERROR_IN_PRESENTING_RECORDS && addinfo &&
+ !strcmp(addinfo,
+ "ZOOM C generated. Present phase and no records"))
+ break;
+ }
}
if (i > 0)
{ // only return records if no error and at least one record
npl->num_records = i;
npl->records = (Z_NamePlusRecord **)
odr_malloc(odr, i * sizeof(*npl->records));
- for (i = 0; i < number_to_present; i++)
+ for (i = 0; i < npl->num_records; i++)
{
Z_NamePlusRecord *npr = 0;
const char *addinfo;