Commit 40b6e210 authored by ROOL's avatar ROOL 🤖
Browse files

Fix to OS_FSControl 13 when no territory is loaded

Detail:
  PRM2-97 describes filing system name matching as case insensitive. However, the Internat_LowerCase macro is a no-op when there's no case conversion table, such as prior to the territory loading.
  Change FindFSName to use an case insensitive ASCII match until the territory starts.
  Fixes a problem with EtherUSB failing to start because it was using Devices: (rather than devices:). A global search of the sources shows SerMouse and the Kernel would also be affected.
Admin:
  Submission from Colin Granville.

Version 2.85. Tagged as 'FileSwitch-2_85'
parent 1985952b
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "2.84"
Module_Version SETA 284
Module_MajorVersion SETS "2.85"
Module_Version SETA 285
Module_MinorVersion SETS ""
Module_Date SETS "08 May 2016"
Module_ApplicationDate SETS "08-May-16"
Module_Date SETS "15 Apr 2017"
Module_ApplicationDate SETS "15-Apr-17"
Module_ComponentName SETS "FileSwitch"
Module_ComponentPath SETS "castle/RiscOS/Sources/FileSys/FileSwitch"
Module_FullVersion SETS "2.84"
Module_HelpVersion SETS "2.84 (08 May 2016)"
Module_FullVersion SETS "2.85"
Module_HelpVersion SETS "2.85 (15 Apr 2017)"
END
/* (2.84)
/* (2.85)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 2.84
#define Module_MajorVersion_CMHG 2.85
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 08 May 2016
#define Module_Date_CMHG 15 Apr 2017
#define Module_MajorVersion "2.84"
#define Module_Version 284
#define Module_MajorVersion "2.85"
#define Module_Version 285
#define Module_MinorVersion ""
#define Module_Date "08 May 2016"
#define Module_Date "15 Apr 2017"
#define Module_ApplicationDate "08-May-16"
#define Module_ApplicationDate "15-Apr-17"
#define Module_ComponentName "FileSwitch"
#define Module_ComponentPath "castle/RiscOS/Sources/FileSys/FileSwitch"
#define Module_FullVersion "2.84"
#define Module_HelpVersion "2.84 (08 May 2016)"
#define Module_LibraryVersionInfo "2:84"
#define Module_FullVersion "2.85"
#define Module_HelpVersion "2.85 (15 Apr 2017)"
#define Module_LibraryVersionInfo "2:85"
......@@ -590,7 +590,7 @@ FindFSName Entry "r0,r2,r3,r5"
; Don't even try to match against image filing systems
LDRB r14, [fscb, #fscb_info]
TEQ r14, #0
BEQ %FT25
BEQ %FT35
MOV r2, r1 ; r2 -> Filing System name to test
ADD r5, fscb, #fscb_name ; r5 -> fscb name field
......@@ -607,12 +607,20 @@ FindFSName Entry "r0,r2,r3,r5"
20
Internat_CaseConvertLoad r14,Lower
TEQ r14, #Nowt
BEQ %FT25 ; No territory loaded, no case
; conversion table. Use ASCII.
Internat_LowerCase r0, r14
Internat_LowerCase r3, r14
B %FT30
25
ASCII_LowerCase r0, r14
ASCII_LowerCase r3, r14
30
TEQ r0, r3 ; Loop if still matching
BEQ %BT15
25
35
LDR fscb, [fscb, #fscb_link] ; Try next fscb then
B %BT10
......
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