- if (object_stream)
- finish_object();
-
- // Write out the object table which gives the sizes and locations of all
- // objects, and then add the trailing signature, which indicates the end of
- // the segment and gives the offset of the object table.
- int64_t index_offset = out.get_pos();
-
- for (object_table::const_iterator i = objects.begin();
- i != objects.end(); ++i) {
- out.write_s64(i->first);
- out.write_s64(i->second);
+ struct segment_info *segment = segments[group];
+ fprintf(stderr, "Closing segment group %s (%s)\n",
+ group.c_str(), segment->name.c_str());
+
+ string reflist;
+ for (set<string>::iterator i = segment->refs.begin();
+ i != segment->refs.end(); ++i) {
+ reflist += *i + "\n";