Implement a string_printf utility function.
[cumulus.git] / main.cc
diff --git a/main.cc b/main.cc
index ede33c6..5ac0f8c 100644 (file)
--- a/main.cc
+++ b/main.cc
@@ -292,9 +292,8 @@ int64_t dumpfile(int fd, dictionary &file_info, const string &path,
                     if (object_group == 0) {
                         o->set_group("data");
                     } else {
-                        char group[32];
-                        sprintf(group, "compacted-%d", object_group);
-                        o->set_group(group);
+                        o->set_group(string_printf("compacted-%d",
+                                                   object_group));
                     }
                     if (status == NULL)
                         status = "partial";
@@ -917,6 +916,9 @@ int main(int argc, char *argv[])
         }
     }
     fclose(dbmeta);
+
+    string dbmeta_csum
+        = Hash::hash_file(dbmeta_file->get_local_path().c_str());
     dbmeta_file->send();
 
     db->Close();
@@ -961,6 +963,10 @@ int main(int argc, char *argv[])
         fprintf(descriptor, "Scheme: %s\n", backup_scheme.c_str());
     fprintf(descriptor, "Root: %s\n", backup_root.c_str());
 
+    if (dbmeta_csum.size() > 0) {
+        fprintf(descriptor, "Database-state: %s\n", dbmeta_csum.c_str());
+    }
+
     if (csum.size() > 0) {
         fprintf(descriptor, "Checksums: %s\n", csum.c_str());
     }