diff options
| author | Wiimm <wiimm@wiimm.de> | 2024-03-26 10:35:38 +0100 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2024-03-26 10:35:38 +0100 |
| commit | 246fdb38d7c2fb3054b8f8528e11dc8f17691750 (patch) | |
| tree | c106adbb6c640ab93c4b3f19864fde6046b1a759 /project/src/lib-lex.c | |
| parent | b8aca433e32346c9293acc34a9e2242809ac5692 (diff) | |
SZS 2.42a
Diffstat (limited to '')
| -rw-r--r-- | project/src/lib-lex.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/project/src/lib-lex.c b/project/src/lib-lex.c index 161a731..304b6a6 100644 --- a/project/src/lib-lex.c +++ b/project/src/lib-lex.c @@ -1234,7 +1234,7 @@ static bool RemoveElementLEX for ( i = 0, ss = lex->item; i < lex->item_used; i++, ss++ ) if ( *ss == li ) { - memmove(ss,ss+1,lex->item_used-i); + memmove(ss,ss+1,sizeof(*ss)*(lex->item_used-i)); lex->item_used--; FREE((lex_item_t*)li); UpdateHaveLex(lex); @@ -1492,8 +1492,7 @@ void ResetLEX ( lex_t * lex ) if (lex->item) { - uint i; - for ( i = 0; i < lex->item_used; i++ ) + for ( int i = 0; i < lex->item_used; i++ ) if (lex->item[i]) FREE(lex->item[i]); FREE(lex->item); @@ -3705,7 +3704,12 @@ bool PurgeLEX ( lex_t * lex ) } if (remove) - modified |= RemoveElementLEX(lex,*ss); + { + if (RemoveElementLEX(lex,*ss)) + modified |= 1; + else + i++; + } else i++; } |
