]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/zone.cpp
Don't save an allocated but pending block
[r2c2.git] / source / libr2c2 / zone.cpp
index dc60a3a2630f13ccb3b02cd2d72ef8d722412799..30b60e99aa65865a0960afc113e3d5f5fedfbd7f 100644 (file)
@@ -38,6 +38,11 @@ void Zone::set_name(const string &g, const string &q, unsigned n)
        qualifier = q;
        number = n;
 
+       update_name();
+}
+
+void Zone::update_name()
+{
        string full_name = group;
        if(!qualifier.empty())
        {
@@ -65,6 +70,11 @@ void Zone::save(list<DataFile::Statement> &st) const
                st.push_back((DataFile::Statement("block"), *i));
 }
 
+DataFile::Statement Zone::save_reference() const
+{
+       return (DataFile::Statement("zone"), group, number);
+}
+
 
 Zone::Loader::Loader(Zone &z):
        DataFile::ObjectLoader<Zone>(z)
@@ -75,6 +85,11 @@ Zone::Loader::Loader(Zone &z):
        add("qualifier", &Zone::qualifier);
 }
 
+void Zone::Loader::finish()
+{
+       obj.update_name();
+}
+
 void Zone::Loader::block(unsigned b)
 {
        Block &blk = obj.layout.get_block(b);