static int buffer_is_sorted(void **elem, void *info, GtError *err) { GtGenomeNode *current_node, **last_node; gt_error_check(err); gt_assert(elem && info); current_node = *(GtGenomeNode**) elem, last_node = info; if (*last_node && gt_genome_node_compare(last_node, ¤t_node) > 0) { gt_assert(*last_node); gt_error_set(err, "the file %s is not sorted (example: line %u and %u)", gt_genome_node_get_filename(*last_node), gt_genome_node_get_line_number(*last_node), gt_genome_node_get_line_number(current_node)); return -1; } else *last_node = current_node; return 0; }
static int cmp_range_start(const void *v1, const void *v2) { return gt_genome_node_compare((GtGenomeNode**) v1, (GtGenomeNode**) v2); }