diff options
Diffstat (limited to 'src/recover.c')
-rw-r--r-- | src/recover.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/recover.c b/src/recover.c index a64a1b4..7cc20a2 100644 --- a/src/recover.c +++ b/src/recover.c @@ -206,6 +206,8 @@ check_db (GDBM_FILE dbf) int bucket_dir, i; int nbuckets = GDBM_DIR_COUNT (dbf); + if (_gdbm_validate_header (dbf)) + return 1; for (bucket_dir = 0; bucket_dir < nbuckets; bucket_dir = _gdbm_next_bucket_dir (dbf, bucket_dir)) { @@ -410,7 +412,7 @@ gdbm_recover (GDBM_FILE dbf, gdbm_recovery *rcvr, int flags) } rc = run_recovery (dbf, new_dbf, rcvr, flags); - + if (rc == 0) rc = _gdbm_finish_transfer (dbf, new_dbf, rcvr, flags); else |