Commit b007d5f
fatfs.c: fix to the fix to the fix, only write file size if appended
The prior revision incorrectly corrupted the file size even if just
scanning the file, including for read. Move the code so it only runs
after the very spot that found it is writing, needed to append a new
cluster to the chain, and successfully did do that.
Script for lDebug file to test this error:
=== testtrun.sld
e 200 "A:\test.dat" 0
f 400 l 400 38
a
mov ah, 3C
mov cx, 0
mov dx, 200
int 21
xchg bx, ax
mov ax, 4200
mov cx, (#10240 >> 10)
mov dx, (#10240 & FFFF)
int 21
mov ah, 40
mov dx, 400
mov cx, 0
int 21
mov ah, 68
int 21
nop
mov ax, 4200
xor cx, cx
xor dx, dx
int 21
mov dx, 800
mov ah, 3F
mov cx, 380
int 21
int3
mov ah, 68
int 21
nop
int3
nop
jmp 100
.
===1 parent 2b7c317 commit b007d5f
1 file changed
Lines changed: 11 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1024 | 1024 | | |
1025 | 1025 | | |
1026 | 1026 | | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
1027 | 1038 | | |
1028 | 1039 | | |
1029 | 1040 | | |
1030 | 1041 | | |
1031 | | - | |
1032 | | - | |
1033 | | - | |
1034 | | - | |
1035 | | - | |
1036 | | - | |
1037 | 1042 | | |
1038 | 1043 | | |
1039 | 1044 | | |
| |||
0 commit comments