diff options
| author | Mika Lindqvist <postmaster@raasu.org> | 2021-06-10 18:23:34 +0300 |
|---|---|---|
| committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2021-06-11 19:53:08 +0200 |
| commit | 4af20eae037a91cf4c47dd07619891d3261f6227 (patch) | |
| tree | c1c9cc1d86e1a9f72fcc9ef8087ecea7ef4ace6d | |
| parent | 91599b37e533359a1027d1b6b2be8ed2745145f1 (diff) | |
| download | Project-Tick-4af20eae037a91cf4c47dd07619891d3261f6227.tar.gz Project-Tick-4af20eae037a91cf4c47dd07619891d3261f6227.zip | |
[CHUNKMEMSET_SAFE] Precalculate "from".
* limit len to minimum of len and left
| -rw-r--r-- | chunkset_tpl.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/chunkset_tpl.h b/chunkset_tpl.h index 68b7dedeee..96f08d118e 100644 --- a/chunkset_tpl.h +++ b/chunkset_tpl.h @@ -161,10 +161,11 @@ Z_INTERNAL uint8_t* CHUNKMEMSET(uint8_t *out, unsigned dist, unsigned len) { } Z_INTERNAL uint8_t* CHUNKMEMSET_SAFE(uint8_t *out, unsigned dist, unsigned len, unsigned left) { + len = MIN(len, left); if (left < (unsigned)(3 * sizeof(chunk_t))) { + uint8_t *from = out - dist; while (len > 0) { - *out = *(out - dist); - out++; + *out++ = *from++; --len; } return out; |
