From a9e34bd29ae9dcdae55bdf5fb8a23c9b1c02eee9 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 8 Nov 2021 03:12:51 +0100 Subject: xplist: Better size estimation for PLIST_REAL nodes --- src/xplist.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/xplist.c b/src/xplist.c index 263d88e..2eaba55 100644 --- a/src/xplist.c +++ b/src/xplist.c @@ -113,7 +113,7 @@ static size_t dtostr(char *buf, size_t bufsize, double realval) } else { size_t i = 0; len = snprintf(buf, bufsize, "%.*g", 17, realval); - for (i = 0; i < len; i++) { + for (i = 0; buf && i < len; i++) { if (buf[i] == ',') { buf[i] = '.'; break; @@ -479,7 +479,7 @@ static void node_estimate_size(node_t *node, uint64_t *size, uint32_t depth) *size += (XPLIST_INT_LEN << 1) + 6; break; case PLIST_REAL: - *size += num_digits_i((int64_t)data->realval) + 7; + *size += dtostr(NULL, 0, data->realval); *size += (XPLIST_REAL_LEN << 1) + 6; break; case PLIST_DATE: -- cgit v1.1-32-gdbae