Commit b5418264 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Fixes to special string parsing

FSystem.s:
* the open[in|out] operations cleared any flags that HandleSpecial collected
* reversed the sense of [no]block
Special.s:
* rewind the input pointer too, otherwise parameters must be in the same ascending order as the validation string

Ref http://www.riscosopen.org/forum/forums/3/topics/1888

Version 0.69. Tagged as 'DeviceFS-0_69'
parent 63803838
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "0.68"
Module_Version SETA 68
Module_MajorVersion SETS "0.69"
Module_Version SETA 69
Module_MinorVersion SETS ""
Module_Date SETS "06 Nov 2009"
Module_ApplicationDate SETS "06-Nov-09"
Module_Date SETS "18 May 2013"
Module_ApplicationDate SETS "18-May-13"
Module_ComponentName SETS "DeviceFS"
Module_ComponentPath SETS "castle/RiscOS/Sources/HWSupport/DeviceFS"
Module_FullVersion SETS "0.68"
Module_HelpVersion SETS "0.68 (06 Nov 2009)"
Module_FullVersion SETS "0.69"
Module_HelpVersion SETS "0.69 (18 May 2013)"
END
/* (0.68)
/* (0.69)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.68
#define Module_MajorVersion_CMHG 0.69
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 06 Nov 2009
#define Module_Date_CMHG 18 May 2013
#define Module_MajorVersion "0.68"
#define Module_Version 68
#define Module_MajorVersion "0.69"
#define Module_Version 69
#define Module_MinorVersion ""
#define Module_Date "06 Nov 2009"
#define Module_Date "18 May 2013"
#define Module_ApplicationDate "06-Nov-09"
#define Module_ApplicationDate "18-May-13"
#define Module_ComponentName "DeviceFS"
#define Module_ComponentPath "castle/RiscOS/Sources/HWSupport/DeviceFS"
#define Module_FullVersion "0.68"
#define Module_HelpVersion "0.68 (06 Nov 2009)"
#define Module_LibraryVersionInfo "0:68"
#define Module_FullVersion "0.69"
#define Module_HelpVersion "0.69 (18 May 2013)"
#define Module_LibraryVersionInfo "0:69"
......@@ -461,7 +461,8 @@ open_input
ADD r6, r6, #1
STR r6, [pr, #parent_UsedInputs] ; store a modified input counter
MOV r3, #ff_FileForRX :OR: ff_ModifiedCounters ; being used for RX
LDR r3, [fr, #file_Flags]
ORR r3,r3, #ff_FileForRX :OR: ff_ModifiedCounters ; being used for RX
STR r3, [fr, #file_Flags] ; stash these flags
Debug open, "file flags", r3
......@@ -526,7 +527,8 @@ open_output
ADD r6, r6, #1
STR r6, [pr, #parent_UsedOutputs] ; store a modified input counter
MOV r3, #ff_FileForTX :OR: ff_ModifiedCounters ; being used for TX
LDR r3, [fr, #file_Flags]
ORR r3, r3, #ff_FileForTX :OR: ff_ModifiedCounters ; being used for TX
STR r3, [fr, #file_Flags] ; stash some important flags
Debug open, "file flags", r3
......@@ -2311,7 +2313,7 @@ sp_size * :INDEX:@
; decoding validation string for internal commands.
internal = "buffer/Nblock,noblock/Snosleep,sleep/Stimeout/N", 0
internal = "buffer/Nnoblock,block/Snosleep,sleep/Stimeout/N", 0
ALIGN
HandleSpecial Entry "r0-r6"
......
......@@ -314,6 +314,7 @@ ScanSpecial ROUT
45
TEQ r7, #0 ; end of sequence?
MOVNE r1, r5
LDRNE r0, [sp, #CallerR0]
BNE %30 ; loop back reseting the rewind pointer
50
Pull "r0-r1, r3-r8, 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