From 00309fa481c2ea32b375514834d1453b7eb8deb2 Mon Sep 17 00:00:00 2001 From: n00b Date: Sat, 28 Sep 2024 16:38:51 -0400 Subject: [PATCH] Fixed Trim not clearing last character if its a space --- rcbasic_runtime/rc_stdlib.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/rcbasic_runtime/rc_stdlib.h b/rcbasic_runtime/rc_stdlib.h index de196e4..480e70f 100755 --- a/rcbasic_runtime/rc_stdlib.h +++ b/rcbasic_runtime/rc_stdlib.h @@ -318,7 +318,7 @@ inline std::string rc_intern_ltrim(std::string l_string) size_t first_index = l_string.find_first_not_of(" "); if(first_index != std::string::npos) return l_string.substr(first_index); - return l_string; + return ""; } inline std::string rc_intern_mid(std::string m_string, size_t m_start, size_t n) @@ -407,7 +407,10 @@ inline std::string rc_intern_rtrim(std::string src) break; } if(i < 0) - return ""; + return ""; + + if(src.find_first_not_of(" ") == string::npos) + return ""; return utf8_substr(src,0,i+1); } @@ -479,7 +482,10 @@ inline unsigned long rc_intern_tally(std::string t_string, std::string t_substri inline std::string rc_intern_trim(std::string t_string) { - return rc_intern_ltrim(rc_intern_rtrim(t_string)); + std::string trim_str = rc_intern_ltrim(rc_intern_rtrim(t_string)); + if(trim_str.compare(" ")==0) + return ""; + return trim_str; } inline std::string rc_intern_ucase(std::string u_string)