From 0af420c0165291ce22127f0c6899744d54b6e36c Mon Sep 17 00:00:00 2001
From: Ben Avison <bavison@gitlab.riscosopen.org>
Date: Mon, 18 Feb 2002 16:42:26 +0000
Subject: [PATCH] New exports, and a bugfix to error handling.

Detail:
  * Hdr2H can cope with hdr.EnvNumbers, hdr.ModHand and hdr.Variables, so C
    versions of these headers are now exported (in addition to RISCOS.h,
    which has been exported for some time).
  * The default owner of ErrorV is responsible for filling in the error
    handler's buffer, but was failing to compensate for the PC word at the
    start of the buffer when truncating the error message, leading to
    possible overruns of the buffer.
Admin:
  Too trivial to test.

Version 5.45. Tagged as 'Kernel-5_45'
---
 Makefile   | 17 ++++++++++++++++-
 VersionASM | 15 ++++++++-------
 VersionNum | 22 ++++++++++++----------
 s/Kernel   |  4 ++--
 4 files changed, 38 insertions(+), 20 deletions(-)

diff --git a/Makefile b/Makefile
index e1120392..7018779e 100644
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,10 @@ EXPORTS   = ${EXP_HDR}.EnvNumbers \
             ${EXP_HDR}.RISCOS \
             ${EXP_HDR}.Variables \
             ${EXP_HDR}.VduExt \
-            ${C_EXP_HDR}.RISCOS
+            ${C_EXP_HDR}.EnvNumbers \
+            ${C_EXP_HDR}.ModHand \
+            ${C_EXP_HDR}.RISCOS \
+            ${C_EXP_HDR}.Variables
 
 #
 # Generic rules:
@@ -127,8 +130,20 @@ ${EXP_HDR}.VduExt: hdr.VduExt
 ${EXP_HDR}.Variables: hdr.Variables
 	${CP} hdr.Variables $@ ${CPFLAGS}
 	
+${C_EXP_HDR}.EnvNumbers: hdr.EnvNumbers
+	${MKDIR} ${C_EXP_HDR}
+	perl Build:Hdr2H hdr.EnvNumbers $@
+
+${C_EXP_HDR}.ModHand: hdr.ModHand
+	${MKDIR} ${C_EXP_HDR}
+	perl Build:Hdr2H hdr.ModHand $@
+
 ${C_EXP_HDR}.RISCOS: hdr.RISCOS
 	${MKDIR} ${C_EXP_HDR}
 	perl Build:Hdr2H hdr.RISCOS $@
 
+${C_EXP_HDR}.Variables: hdr.Variables
+	${MKDIR} ${C_EXP_HDR}
+	perl Build:Hdr2H hdr.Variables $@
+
 # Dynamic dependencies:
diff --git a/VersionASM b/VersionASM
index 699b6bc4..63782d87 100644
--- a/VersionASM
+++ b/VersionASM
@@ -1,5 +1,6 @@
 ;
 ; This file is automatically maintained by srccommit, do not edit manually.
+; Last processed by srccommit version: 1.62.
 ;
                         GBLS    Module_MajorVersion
                         GBLA    Module_Version
@@ -11,14 +12,14 @@
                         GBLS    Module_HelpVersion
                         GBLS    Module_ComponentName
                         GBLS    Module_ComponentPath
-Module_MajorVersion     SETS    "5.44"
-Module_Version          SETA    544
+Module_MajorVersion     SETS    "5.45"
+Module_Version          SETA    545
 Module_MinorVersion     SETS    ""
-Module_Date             SETS    "05 Jun 2001"
-Module_ApplicationDate2 SETS    "05-Jun-01"
-Module_ApplicationDate4 SETS    "05-Jun-2001"
+Module_Date             SETS    "18 Feb 2002"
+Module_ApplicationDate2 SETS    "18-Feb-02"
+Module_ApplicationDate4 SETS    "18-Feb-2002"
 Module_ComponentName    SETS    "Kernel"
 Module_ComponentPath    SETS    "RiscOS/Sources/Kernel"
-Module_FullVersion      SETS    "5.44"
-Module_HelpVersion      SETS    "5.44 (05 Jun 2001)"
+Module_FullVersion      SETS    "5.45"
+Module_HelpVersion      SETS    "5.45 (18 Feb 2002)"
                         END
diff --git a/VersionNum b/VersionNum
index d377d733..72e6a47c 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,22 +1,24 @@
-/* (5.44)
+/* (5.45)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
+ * Last processed by srccommit version: 1.62.
  *
  */
-#define Module_MajorVersion_CMHG        5.44
+#define Module_MajorVersion_CMHG        5.45
 #define Module_MinorVersion_CMHG        
-#define Module_Date_CMHG                05 Jun 2001
+#define Module_Date_CMHG                18 Feb 2002
 
-#define Module_MajorVersion             "5.44"
-#define Module_Version                  544
+#define Module_MajorVersion             "5.45"
+#define Module_Version                  545
 #define Module_MinorVersion             ""
-#define Module_Date                     "05 Jun 2001"
+#define Module_Date                     "18 Feb 2002"
 
-#define Module_ApplicationDate2         "05-Jun-01"
-#define Module_ApplicationDate4         "05-Jun-2001"
+#define Module_ApplicationDate2         "18-Feb-02"
+#define Module_ApplicationDate4         "18-Feb-2002"
 
 #define Module_ComponentName            "Kernel"
 #define Module_ComponentPath            "RiscOS/Sources/Kernel"
 
-#define Module_FullVersion              "5.44"
-#define Module_HelpVersion              "5.44 (05 Jun 2001)"
+#define Module_FullVersion              "5.45"
+#define Module_HelpVersion              "5.45 (18 Feb 2002)"
+#define Module_LibraryVersionInfo       "5:45"
diff --git a/s/Kernel b/s/Kernel
index b2506227..5cfb7cd7 100644
--- a/s/Kernel
+++ b/s/Kernel
@@ -723,8 +723,8 @@ ErrHandler ROUT
         LDR     r14, [r0], #4           ; Copy error number
         STR     r14, [r11], #4
 
-        ; Copy error string - truncating at 252
-        MOV     r12, #256-4
+        ; Copy error string - truncating at 248
+        MOV     r12, #256-4-4
 
 10      LDRB    r14, [r0], #1
         SUBS    r12, r12, #1
-- 
GitLab