fixed str_trim bugs
This commit is contained in:
parent
a0affaa6d0
commit
75c94e88d9
@ -134,10 +134,10 @@ str hex_to_str(Array(u8) buf, bool uppercase){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void str_trim(str* line, bool set_zero_at_end){
|
void str_trim(str* line, bool set_zero_at_end){
|
||||||
bool stop = false;
|
|
||||||
// loop forward
|
// loop forward
|
||||||
|
bool stop = false;
|
||||||
while(line->size > 0 && !stop){
|
while(line->size > 0 && !stop){
|
||||||
char first_char = line->data[line->size - 1];
|
char first_char = line->data[0];
|
||||||
switch(first_char){
|
switch(first_char){
|
||||||
case '\0': case '\r': case '\n':
|
case '\0': case '\r': case '\n':
|
||||||
case '\t': case ' ':
|
case '\t': case ' ':
|
||||||
@ -149,7 +149,9 @@ void str_trim(str* line, bool set_zero_at_end){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// loop backward
|
// loop backward
|
||||||
|
stop = false;
|
||||||
while(line->size > 0 && !stop)
|
while(line->size > 0 && !stop)
|
||||||
{
|
{
|
||||||
char last_char = line->data[line->size - 1];
|
char last_char = line->data[line->size - 1];
|
||||||
@ -163,6 +165,7 @@ void str_trim(str* line, bool set_zero_at_end){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(set_zero_at_end){
|
if(set_zero_at_end){
|
||||||
line->data[line->size] = '\0';
|
line->data[line->size] = '\0';
|
||||||
line->isZeroTerminated = true;
|
line->isZeroTerminated = true;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user