+}
+
+Z_Records *yf::Zoom::Frontend::get_records(Odr_int start,
+ Odr_int number_to_present,
+ int *error,
+ char **addinfo,
+ Odr_int *number_of_records_returned,
+ ODR odr,
+ BackendPtr b,
+ Odr_oid *preferredRecordSyntax,
+ const char *element_set_name)
+{
+ *number_of_records_returned = 0;
+ Z_Records *records = 0;
+ bool enable_pz2_retrieval = false; // whether target profile is used
+ bool enable_pz2_transform = false; // whether XSLT is used as well
+ bool assume_marc8_charset = false;
+
+ prepare_elements(b, preferredRecordSyntax,
+ element_set_name,
+ enable_pz2_retrieval,
+ enable_pz2_transform,
+ assume_marc8_charset);
+
+ if (start < 0 || number_to_present <=0)
+ return records;
+
+ if (number_to_present > 10000)
+ number_to_present = 10000;
+
+ ZOOM_record *recs = (ZOOM_record *)
+ odr_malloc(odr, (size_t) number_to_present * sizeof(*recs));
+