+void write_groups_in_files(int nb, struct file_node **nodes) {
+ FILE *file = 0;
+ int current_group = -1, n;
+ char filename[PATH_MAX + 1];
+
+ for(n = 0; n < nb; n++) {
+ if(nodes[n]->group_id != current_group) {
+ if(file) { fclose(file); }
+ sprintf(filename, "%s%06d", result_file_prefix, nodes[n]->group_id);
+ file = fopen(filename, "w");
+ current_group = nodes[n]->group_id;
+ printf("Writing %s.\n" , filename);
+ }
+ print_file(file, nodes[n]);
+ }
+
+ if(file) { fclose(file); }
+}
+