bool tape_can_write(const TCHAR *tape_directory)
{
TCHAR tmp[MAX_DPATH];
+ if (!tape_directory[0])
+ return false;
if (my_existsdir(tape_directory))
return true;
_tcscpy(tmp, tape_directory);
break;
case 0x0a: /* WRITE (6) */
+ if (!(cmdbuf[1] & 1))
+ goto errreq;
len = rl (cmdbuf + 1) & 0xffffff;
- if (cmdbuf[1] & 1)
- len *= tape->blocksize;
+ len *= tape->blocksize;
if (log_tapeemu)
write_log (_T("TAPEEMU WRITE %lld (%d, %d)\n"), len, rl (cmdbuf + 1) & 0xffffff, cmdbuf[1] & 1);
if (notape (tape))
break;
case 0x08: /* READ (6) */
+ if (!(cmdbuf[1] & 1))
+ goto errreq;
len = rl (cmdbuf + 1) & 0xffffff;
- if (cmdbuf[1] & 1)
- len *= tape->blocksize;
+ len *= tape->blocksize;
if (log_tapeemu)
write_log (_T("TAPEEMU READ %lld (%d, %d)\n"), len, rl (cmdbuf + 1) & 0xffffff, cmdbuf[1] & 1);
if (notape (tape))