aboutsummaryrefslogtreecommitdiff
path: root/pseudocode-lib/string.cps
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-23 01:19:28 +0000
committer_ov4 <ov4@ov4.org>2026-10-23 01:19:28 +0000
commit90fc80c193453e8d5038530f310fc007f9ff9789 (patch)
treee324ea2c88f63610cc5f13f0b55114f12b5b8f98 /pseudocode-lib/string.cps
parent7c681c33e17550bfc8a0dc969129a2ea855a39fe (diff)
fix(stdlib)!: return CHAR from CHR
BREAKING CHANGE: CHR now returns CHAR instead of STRING, so user overloads and templates select or deduce CHAR for CHR(...). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'pseudocode-lib/string.cps')
-rw-r--r--pseudocode-lib/string.cps8
1 files changed, 3 insertions, 5 deletions
diff --git a/pseudocode-lib/string.cps b/pseudocode-lib/string.cps
index a118326..1ad63d3 100644
--- a/pseudocode-lib/string.cps
+++ b/pseudocode-lib/string.cps
@@ -23,7 +23,7 @@ EXTERN "C" EXTERN_PROCEDURE _string_impl_ucase(_STRING_HANDLE, _STRING_HANDLE)
EXTERN "C" EXTERN_FUNCTION _string_impl_ucase_char(C_CHAR) RETURNS C_CHAR
EXTERN "C" EXTERN_FUNCTION _string_impl_asc(_STRING_HANDLE) RETURNS _STRING_C_INTEGER
EXTERN "C" EXTERN_FUNCTION _string_impl_asc_char(C_CHAR) RETURNS _STRING_C_INTEGER
-EXTERN "C" EXTERN_PROCEDURE _string_impl_chr(_STRING_HANDLE, _STRING_C_INTEGER)
+EXTERN "C" EXTERN_FUNCTION _string_impl_chr_char(_STRING_C_INTEGER) RETURNS C_CHAR
EXTERN "C" EXTERN_FUNCTION _string_impl_is_num(_STRING_HANDLE) RETURNS C_INT
EXTERN "C" EXTERN_FUNCTION _string_impl_c_str(_STRING_HANDLE) RETURNS C_STRING
EXTERN "C" EXTERN_PROCEDURE _string_impl_input(_STRING_HANDLE)
@@ -121,10 +121,8 @@ ENDFUNCTION
OVERLOAD FUNCTION ASC(Ch : CHAR) RETURNS INTEGER
RETURN (INTEGER)_string_impl_asc_char((C_CHAR)Ch)
ENDFUNCTION
-FUNCTION CHR(Code : INTEGER) RETURNS STRING
- DECLARE Result : STRING
- CALL _string_impl_chr(Result._HANDLE, (_STRING_C_INTEGER)Code)
- RETURN Result
+FUNCTION CHR(Code : INTEGER) RETURNS CHAR
+ RETURN (CHAR)_string_impl_chr_char((_STRING_C_INTEGER)Code)
ENDFUNCTION
FUNCTION IS_NUM(S : STRING) RETURNS BOOLEAN
RETURN (BOOLEAN)_string_impl_is_num(S._HANDLE)