From 5680c1fea58c88dd64d7af12ebe3272b590a34b2 Mon Sep 17 00:00:00 2001
From: Robert Sprowson <rsprowson@gitlab.riscosopen.org>
Date: Sat, 18 May 2013 14:33:41 +0000
Subject: [PATCH] Fixes to special string parsing

Same aim as previous commit, but keeping the default as 'block'.
Retagged as DeviceFS-0_69.
---
 s/FSystem | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/s/FSystem b/s/FSystem
index 19adcd5..23427c5 100644
--- a/s/FSystem
+++ b/s/FSystem
@@ -2335,16 +2335,16 @@ HandleSpecial   Entry   "r0-r6"
                 STR     r0, [fr, #file_BufferHandle]
 10
                 LDR     r0, sp_block                            ; maybe set the non-blocking bit
-                TEQ     r0, #1
+                TEQ     r0, #0
                 LDR     r0, [fr, #file_Flags]
-                ORRNE   r0, r0, #ff_NonBlocking
-                BICEQ   r0, r0, #ff_NonBlocking
+                ORREQ   r0, r0, #ff_NonBlocking
+                BICNE   r0, r0, #ff_NonBlocking                 ; "block" or unspecified
                 STR     r0, [fr, #file_Flags]
  [ TWSleep
                 LDR     r0, sp_sleep                            ; maybe set the sleeping word
                 TEQ     r0, #1
                 MOVEQ   r0, #ff_Sleeping
-                MOVNE   r0, #ff_DontSleep
+                MOVNE   r0, #ff_DontSleep                       ; "nosleep" or unspecified
                 STR     r0, [fr, #file_PollWord]
 
                 LDR     r0, sp_timeout                          ; set the timeout for sleeping
-- 
GitLab