From 1ff2f218cafa13b0b216006c3de5f0d15386ae82 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 23 Apr 1995 22:10:18 +0000 Subject: Removed seeks beyond eof (MW doesn't support them) --- Mac/Lib/dbmac.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Mac/Lib/dbmac.py b/Mac/Lib/dbmac.py index 68a832d..1f15ebe 100644 --- a/Mac/Lib/dbmac.py +++ b/Mac/Lib/dbmac.py @@ -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)) -- cgit v0.12