From 90fc80c193453e8d5038530f310fc007f9ff9789 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 23 Oct 2026 01:19:28 +0000 Subject: 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 --- pseudocode-lib/string.cps | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'pseudocode-lib/string.cps') 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) -- cgit v1.3.1-4-g156e