summaryrefslogtreecommitdiff
path: root/src/apk_defines.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/apk_defines.h')
-rw-r--r--src/apk_defines.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/apk_defines.h b/src/apk_defines.h
index 755d971..49ca9eb 100644
--- a/src/apk_defines.h
+++ b/src/apk_defines.h
@@ -83,12 +83,13 @@ typedef void (*apk_progress_cb)(void *cb_ctx, size_t);
{ \
struct array_type_name *tmp; \
int oldnum = a ? a->num : 0; \
+ int diff = size - oldnum; \
tmp = (struct array_type_name *) \
realloc(a, sizeof(struct array_type_name) + \
size * sizeof(elem_type_name)); \
- if (size > oldnum) \
+ if (diff > 0) \
memset(&tmp->item[oldnum], 0, \
- (size - oldnum) * sizeof(a->item[0])); \
+ diff * sizeof(a->item[0])); \
tmp->num = size; \
return tmp; \
} \