From 0e143e393d99ebb00cb14ffaa4c50efeec3729f1 Mon Sep 17 00:00:00 2001 From: Wiimm Date: Fri, 16 Dec 2022 16:02:51 +0100 Subject: SZS v2.31a --- project/dclib/dclib-basics.c | 13 ++++++++++--- project/dclib/lib-mkw.h | 8 ++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'project/dclib') diff --git a/project/dclib/dclib-basics.c b/project/dclib/dclib-basics.c index 8f9ec1f..c50f95a 100644 --- a/project/dclib/dclib-basics.c +++ b/project/dclib/dclib-basics.c @@ -3539,7 +3539,8 @@ mem_t BeforeMem ( const mem_t src, ccp ref ) { mem_t res; res.ptr = src.ptr; - res.len = ref < src.ptr ? 0 + res.len = !ref ? src.len + : ref < src.ptr ? 0 : ref <= src.ptr + src.len ? ref - src.ptr : src.len; return res; @@ -3550,7 +3551,12 @@ mem_t BeforeMem ( const mem_t src, ccp ref ) mem_t BehindMem ( const mem_t src, ccp ref ) { mem_t res; - if ( ref <= src.ptr ) + if (!ref) + { + res.ptr = src.ptr + src.len; + res.len = 0; + } + else if ( ref <= src.ptr ) res = src; else if ( ref <= src.ptr + src.len ) { @@ -6219,7 +6225,8 @@ s64 ScanKeywordListEx uint *err_count // not NULL: store errors here ) { - ASSERT(arg); + if (!arg) + arg = ""; char key_buf[KEYWORD_NAME_MAX]; char *end = key_buf + sizeof(key_buf) - 1; diff --git a/project/dclib/lib-mkw.h b/project/dclib/lib-mkw.h index 8141e46..2801ece 100644 --- a/project/dclib/lib-mkw.h +++ b/project/dclib/lib-mkw.h @@ -162,6 +162,14 @@ static inline bool IsLecodeSpecial ( uint tid ) { return tid >= MKW_SPECIAL_BEG && tid < MKW_LE_RANDOM_BEG || tid >= MKW_LE_RANDOM_END && tid < MKW_SPECIAL_END; } + +static inline uint NextLecodeSlot ( uint slot ) + { return slot == MKW_ARENA_END-1 ? MKW_LE_SLOT_BEG : slot+1; } + +static inline uint NextLecodeSlotRnd ( uint slot ) + { return slot == MKW_ARENA_END-1 ? MKW_LE_RANDOM_BEG + : slot == MKW_LE_RANDOM_END-1 ? MKW_LE_SLOT_BEG : slot+1; } + // /////////////////////////////////////////////////////////////////////////////// /////////////// 24p support /////////////// -- cgit v1.3.1