aboutsummaryrefslogtreecommitdiff
path: root/project/dclib/dclib-basics.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--project/dclib/dclib-basics.c13
1 files changed, 10 insertions, 3 deletions
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;