diff options
Diffstat (limited to 'src/fs.asm')
| -rw-r--r-- | src/fs.asm | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -678,6 +678,13 @@ sys_open:: ld [wFsDir], a call dir_find ; A = target inode or 0 ld [wFsInode], a + or a + jr z, .notdir ; doesn't exist yet: no type to check + call inode_ptr + ld a, [hl] ; I_TYPE + cp IT_DIR + jr z, .isdir ; can't open a directory as a file +.notdir ld a, [wFsMode] or a jr nz, .write @@ -730,6 +737,9 @@ sys_open:: ld a, c cp OF_MAX jr c, .ofl +.isdir + ld a, $FE ; EISDIR: is a directory + ret .fail ld a, $FF ret |
