- char *tmp_rec = odr_strdup(odr, marc_record);
- char offset_str[30];
- sprintf(offset_str, "test__%09d_", i+start);
- memcpy(tmp_rec+186, offset_str, strlen(offset_str));
- npr->u.databaseRecord = z_ext_record(odr, VAL_USMARC,
- tmp_rec, strlen(tmp_rec));
+ if (!strncmp(element_set_name, "FF", 2))
+ { // Huge XML test record
+ size_t sz = 1024;
+ if (element_set_name[2])
+ sz = atoi(element_set_name+2) * 1024;
+ if (sz < 10)
+ sz = 10;
+ char *tmp_rec = (char*) xmalloc(sz);
+
+ memset(tmp_rec, 'a', sz);
+ memcpy(tmp_rec, "<a>", 3);
+ memcpy(tmp_rec + sz - 4, "</a>", 4);
+
+ npr->u.databaseRecord = z_ext_record_xml(odr, tmp_rec, sz);
+ xfree(tmp_rec);
+ }
+ else
+ {
+ char *tmp_rec = odr_strdup(odr, marc_record);
+ char offset_str[30];
+ sprintf(offset_str, "test__%09d_", i+start);
+ memcpy(tmp_rec+186, offset_str, strlen(offset_str));
+ npr->u.databaseRecord = z_ext_record_usmarc(
+ odr, tmp_rec, strlen(tmp_rec));
+ }