From 23c4ecb4bb51c4f802d30c93541d9b27ffc9ae8b Mon Sep 17 00:00:00 2001 From: paladin-t Date: Tue, 24 May 2016 14:27:56 +0800 Subject: [PATCH] *refactored error raising of string manipulation. --- HISTORY | 5 ++++- core/my_basic.c | 12 +++--------- output/my_basic.exe | Bin 359936 -> 359936 bytes 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/HISTORY b/HISTORY index 0bf6670..34127a7 100755 --- a/HISTORY +++ b/HISTORY @@ -1,5 +1,8 @@ +May. 24 2016 +Refactored error raising of string manipulation + May. 20 2016 -Added an assertion when buffer overflow in STR +Added an assertion when buffer overflow in the STR statement May. 19 2016 Added UTF8 BOM detection even with MB_ENABLE_UNICODE disabled diff --git a/core/my_basic.c b/core/my_basic.c index fb048fb..9d594ef 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -14997,9 +14997,7 @@ static int _std_left(mb_interpreter_t* s, void** l) { mb_check(mb_attempt_close_bracket(s, l)); if(count <= 0) { - result = MB_FUNC_ERR; - - goto _exit; + _handle_error_on_obj(s, SE_RN_INDEX_OUT_OF_BOUND, s->source_file, DON2(l), MB_FUNC_ERR, _exit, result); } #ifdef MB_ENABLE_UNICODE @@ -15043,9 +15041,7 @@ static int _std_mid(mb_interpreter_t* s, void** l) { mb_check(mb_attempt_close_bracket(s, l)); if(count <= 0 || start < 0 || start >= (int_t)strlen(arg)) { - result = MB_FUNC_ERR; - - goto _exit; + _handle_error_on_obj(s, SE_RN_INDEX_OUT_OF_BOUND, s->source_file, DON2(l), MB_FUNC_ERR, _exit, result); } #ifdef MB_ENABLE_UNICODE @@ -15087,9 +15083,7 @@ static int _std_right(mb_interpreter_t* s, void** l) { mb_check(mb_attempt_close_bracket(s, l)); if(count <= 0) { - result = MB_FUNC_ERR; - - goto _exit; + _handle_error_on_obj(s, SE_RN_INDEX_OUT_OF_BOUND, s->source_file, DON2(l), MB_FUNC_ERR, _exit, result); } #ifdef MB_ENABLE_UNICODE diff --git a/output/my_basic.exe b/output/my_basic.exe index 86d9ca22b6f2f8f158a89997d1261ebe4256aade..428425f35500a3d84c7d24e228e7b7ffe5981a08 100755 GIT binary patch delta 20222 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 delta 19899 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 BL5=_b