mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Removed seeks beyond eof (MW doesn't support them)
This commit is contained in:
parent
e99c824bad
commit
1ff2f218ca
1 changed files with 13 additions and 2 deletions
|
@ -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))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue