detect old version 2 hash files and return "bsddb185" as the appropriate

module to load them
This commit is contained in:
Skip Montanaro 2003-05-06 20:42:10 +00:00
parent 6d9f45bc3f
commit 02cd36580f
1 changed files with 4 additions and 3 deletions

View File

@ -86,11 +86,12 @@ def whichdb(filename):
if magic == 0x13579ace:
return "gdbm"
# Check for BSD hash
# Check for old Berkeley db hash file format v2
if magic in (0x00061561, 0x61150600):
return "dbhash"
return "bsddb185"
# BSD hash v2 has a 12-byte NULL pad in front of the file type
# Later versions of Berkeley db hash file have a 12-byte pad in
# front of the file type
try:
(magic,) = struct.unpack("=l", s16[-4:])
except struct.error: