Fixed multiple evstring bugs
This commit is contained in:
@@ -402,6 +402,7 @@ evstring_setLength(
|
||||
meta = META(*s);
|
||||
}
|
||||
meta->length = newlen;
|
||||
(*s)[newlen] = 0;
|
||||
|
||||
return EV_STR_ERR_NONE;
|
||||
}
|
||||
@@ -498,10 +499,13 @@ evstring_slice(
|
||||
u64 wrapped_begin = begin < 0 ? string_len + 1 + begin : begin;
|
||||
u64 wrapped_end = end < 0 ? string_len + 1 + end : end;
|
||||
|
||||
// In this case, the assertions don't matter
|
||||
if(wrapped_begin != wrapped_end)
|
||||
{
|
||||
assert(wrapped_begin >= 0 && wrapped_begin < string_len);
|
||||
assert(wrapped_end > 0 && wrapped_end <= string_len);
|
||||
|
||||
assert(wrapped_begin < wrapped_end);
|
||||
}
|
||||
|
||||
return (evstring_view) {
|
||||
.data = s,
|
||||
@@ -688,8 +692,9 @@ evstring_findAll(
|
||||
evstring_slice(text, v.offset + v.len, -1),
|
||||
evstring_slice(query, 0, -1))) {
|
||||
if(!check_run) {
|
||||
results[count++] = v;
|
||||
results[count] = v;
|
||||
}
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user