Removed seeks beyond eof (MW doesn't support them)

This commit is contained in:
Jack Jansen 1995-04-23 22:10:18 +00:00
parent e99c824bad
commit 1ff2f218ca
1 changed files with 13 additions and 2 deletions

View File

@ -29,6 +29,12 @@ class _Database:
self._dirfile = file + '.dir'
self._datfile = file + '.dat'
self._bakfile = file + '.bak'
# Mod by Jack: create data file if needed
try:
f = _open(self._datfile, 'r')
except IOError:
f = _open(self._datfile, 'w')
f.close()
self._update()
def _update(self):
@ -67,8 +73,13 @@ class _Database:
f = _open(self._datfile, 'rb+')
f.seek(0, 2)
pos = f.tell()
pos = ((pos + _BLOCKSIZE - 1) / _BLOCKSIZE) * _BLOCKSIZE
f.seek(pos)
## Does not work under MW compiler
## pos = ((pos + _BLOCKSIZE - 1) / _BLOCKSIZE) * _BLOCKSIZE
## f.seek(pos)
npos = ((pos + _BLOCKSIZE - 1) / _BLOCKSIZE) * _BLOCKSIZE
f.write('\0'*(npos-pos))
pos = npos
f.write(val)
f.close()
return (pos, len(val))