Commit 7601e7d7 authored by Simon Proven's avatar Simon Proven
Browse files

Fixed parent directory handling for big dirs (was filling in the Disc part of...

Fixed parent directory handling for big dirs (was filling in the Disc part of the field, which should be left as 0000s because the value of the disc changes over time).

Further fix for ADFSBuffers (illegal pointer accessing) as it was found that
the previous fix wasn't good enough.  New fix appears to work where previous
failed.
parent 7a47b4ee
;>Version Version file for FileCore
GBLS version
version SETS "3.10"
version SETS "3.11"
GBLA Version
Version SETA 309
GBLS date
date SETS "17 Feb 1998"
date SETS "18 Mar 1998"
GBLL test_version
......
......@@ -102,7 +102,7 @@ Debug3 switch F ;disc accesses
Debug3L switch F ;low level discops into parent
Debug4 switch F ;disc and drive record operations
Debug5 switch F ;old free space map operations
Debug6 switch F ;pathname and directory operations
Debug6 switch T ;pathname and directory operations
Debug6f switch F ; FindDiscByName
Debug7 switch F ;OsFile operations
Debug8 switch F ;File Level Disc Ops
......@@ -118,7 +118,7 @@ DebugBs switch F ;Open file new map allocated size
DebugBt switch F ;Random access file I/O terse
DebugC switch F ;Directory cache
DebugD switch F ;Scatter buffer
DebugE switch F ;new free space map
DebugE switch T ;new free space map
DebugEa switch F ;new free space map random extension
DebugEx switch F ; verbose new free space map
DebugEs switch F ; debugging of SortDir use in NewClaimFree
......@@ -139,18 +139,18 @@ DebugMt switch F ; MultiFS extensions (terse)
DebugN switch F ; Disc insertion / request for insertion thread
DebugO switch F ; MultiFS extensions - formatting SWIs
DebugP switch F ; Process activation/deactivation
DebugQ switch F ; *-commands
DebugQ switch T ; *-commands
DebugR switch F ; reentrance
DebugU switch F ; UpCall
Debugb switch F ; break key action updates
DebugDR switch F ; check array bounds on drive and disc record ptr calculation
DebugDL switch F ; check for data lost problems with atapi
DebugX switch F ; debug long filenames
DebugXg switch T ; debug long filenames - growin dirs
DebugX switch T ; debug long filenames
DebugXg switch F ; debug long filenames - growin dirs
DebugXm switch F ; debug long filenames - memory problems
DebugXb switch F ; debug long filenames - binary chop dir search
DebugXr switch T ; debug long filenames - rename
DebugXr switch F ; debug long filenames - rename
DebugCW switch F ; debug write cacheing of dirs
......
......@@ -711,6 +711,7 @@ ToParent ROUT
BL TestBigDir
ANDEQ LR, R3, #DiscBits
LDREQ R3, [R5,#BigDirParent]
BICEQ R3, R3, #DiscBits
ORREQ R3, R3, LR
BEQ %FT90
]
......@@ -2157,7 +2158,8 @@ WriteParent
Push "R0,R1,LR"
[ BigDir
BL TestBigDir
STREQ R3, [R5, #BigDirParent]
BICEQ R1, R3, #DiscBits
STREQ R1, [R5, #BigDirParent]
Pull "R0,R1,PC",EQ,^
]
BL TestDir ;(R3->LR,Z)
......
......@@ -4907,11 +4907,11 @@ UpdateBufState ROUT
; they must point to the fcb (which doesn't have the fields
; that LinkAllocChain uses.
LDR R0, [BufPtr, #PrevInFile]
LDR LR, [BufPtr, #NextInFile]
; LDR R0, [BufPtr, #PrevInFile]
; LDR LR, [BufPtr, #NextInFile]
TEQS LR, R0 ; is it the only buffer in the file?
BEQ %FT80
; TEQS LR, R0 ; is it the only buffer in the file?
; BEQ %FT80
; *** SBP: Fri 30th January 1998 *** (end)
......@@ -4922,6 +4922,13 @@ UpdateBufState ROUT
LDRLO LR, [BufPtr,#PrevInFile] ;IF new priority AwaitsSeq
LDRHI LR, [BufPtr,#NextInFile] ;IF new priority WriteBehind
; SBP: better fix to the FCB-confused-with-buffer problem!
LDR R0, [BufPtr,#BufFcb] ;get the FCB ptr
TEQS LR, R0
BEQ %FT80 ;don't attempt to link to the FCB!!!
; SBP: end of betterfix
LDRB R0, [LR,#BufPriority]
TEQS R0, R2
MOVEQ R2, LR
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment