veserver.py: Fix data corruption bug when writing

This commit is contained in:
Bobbi Webber-Manners 2022-09-08 20:55:18 -04:00
parent a6190dd720
commit 37e05b8508
1 changed files with 5 additions and 5 deletions

View File

@ -127,7 +127,7 @@ def select_filename(filename, ip):
return filename return filename
filename_with_ip = augment_filename(filename, ip) filename_with_ip = augment_filename(filename, ip)
try: try:
with open(filename_with_ip, "rb"): with open(filename_with_ip, 'r+b'):
pass pass
except: except:
return filename return filename
@ -156,7 +156,7 @@ def read3(dataport, addr, ip, d):
err = False err = False
try: try:
with open(filename, 'rb') as f: with open(filename, 'r+b') as f:
b = blknum * BLKSZ + skip b = blknum * BLKSZ + skip
f.seek(b) f.seek(b)
block = f.read(BLKSZ) block = f.read(BLKSZ)
@ -222,7 +222,7 @@ def write(dataport, addr, ip, d):
err = False err = False
if cs == d[517]: if cs == d[517]:
try: try:
with open(file, 'rb') as f: with open(filename, 'r+b') as f:
b = blknum * BLKSZ + skip b = blknum * BLKSZ + skip
f.seek(b) f.seek(b)
for i in range (0, BLKSZ): for i in range (0, BLKSZ):
@ -258,7 +258,7 @@ def write(dataport, addr, ip, d):
# #
def check2MG(filename): def check2MG(filename):
try: try:
with open(filename, 'rb') as f: with open(filename, 'r+b') as f:
hdr = f.read(16) hdr = f.read(16)
except: except:
return 0 return 0
@ -362,7 +362,7 @@ for a, v in args:
elif a in ('-b', '--baud'): elif a in ('-b', '--baud'):
baud_rate = int(v) baud_rate = int(v)
print("VEServer v1.2") print("VEServer v1.3")
if pd25: if pd25:
print("ProDOS 2.5+ Clock Driver") print("ProDOS 2.5+ Clock Driver")
else: else: