summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMika Lindqvist <postmaster@raasu.org>2021-06-10 18:23:34 +0300
committerHans Kristian Rosbach <hk-github@circlestorm.org>2021-06-11 19:53:08 +0200
commit4af20eae037a91cf4c47dd07619891d3261f6227 (patch)
treec1c9cc1d86e1a9f72fcc9ef8087ecea7ef4ace6d
parent91599b37e533359a1027d1b6b2be8ed2745145f1 (diff)
downloadProject-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.h5
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;