+ if (pq->n_records >= pq->allocated_records)
+ {
+ pq->allocated_records = pq->allocated_records * 2;
+ if (pq->allocated_records < 16)
+ pq->allocated_records = 16;
+ else if (pq->allocated_records > pq->max_records)
+ pq->allocated_records = pq->max_records;
+ pq->records = xrealloc (pq->records,
+ pq->allocated_records * sizeof *pq->records);
+ }
+
+ r = &pq->records[pq->n_records++];