aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/zload.c4
-rw-r--r--src/zsave.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/zload.c b/src/zload.c
index 9e4521f..e03d911 100644
--- a/src/zload.c
+++ b/src/zload.c
@@ -17,8 +17,8 @@ zload(z_t a, const void *buffer)
} else {
a->chars = 0;
}
- if (a->sign) {
+ if (!zzero(a)) {
memcpy(a->chars, buf, a->used * sizeof(*(a->chars)));
}
- return sizeof(z_t) - sizeof(a->chars) + (a->sign ? a->used * sizeof(*(a->chars)) : 0);
+ return sizeof(z_t) - sizeof(a->chars) + (zzero(a) ? 0 : a->used * sizeof(*(a->chars)));
}
diff --git a/src/zsave.c b/src/zsave.c
index 6f68387..6aa50b5 100644
--- a/src/zsave.c
+++ b/src/zsave.c
@@ -12,9 +12,9 @@ zsave(z_t a, void *buffer)
*((int *)buf) = a->sign, buf += sizeof(int);
*((size_t *)buf) = a->used, buf += sizeof(size_t);
*((size_t *)buf) = a->alloced, buf += sizeof(size_t);
- if (a->sign) {
+ if (!zzero(a)) {
memcpy(buf, a->chars, a->used * sizeof(*(a->chars)));
}
}
- return sizeof(z_t) - sizeof(a->chars) + (a->sign ? a->used * sizeof(*(a->chars)) : 0);
+ return sizeof(z_t) - sizeof(a->chars) + (zzero(a) ? 0 : a->used * sizeof(*(a->chars)));
}