libsheepy

C lib for handling text files, strings and json like data structure with an object oriented system
git clone https://spartatek.se/git/libsheepy.git
Log | Files | Refs | README | LICENSE

commit 4b7a8c575700fc93c384b165c354fd229fb586a8
parent f7f095d9cd18c142a71ebbc3e15b61d358d9fd59
Author: Remy Noulin <loader2x@gmail.com>
Date:   Sun, 27 Oct 2019 17:04:33 +0100

fix to toString for smallDict when all elements have been deleted

release/libsheepySmall.c | 10 +++++++++-
src/libsheepySmall.c     | 10 +++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)

Diffstat:
Mrelease/libsheepySmall.c | 10+++++++++-
Msrc/libsheepySmall.c | 10+++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/release/libsheepySmall.c b/release/libsheepySmall.c @@ -677,8 +677,11 @@ char* sDictToStringTiny(sDictt* obj) { char *r = strdup("{"); + bool hasAtLeastOneElement = no; + forEachSDict(obj, e) { if (e->key) { + hasAtLeastOneElement = yes; iAppendS(&r, "\""); iAppendS(&r, e->key); iAppendS(&r, "\""); @@ -700,7 +703,12 @@ char* sDictToStringTiny(sDictt* obj) { } } - setS(r, -1, '}'); + if (hasAtLeastOneElement) { + setS(r, -1, '}'); + } + else { + iAppendS(&r, "}"); + } return(r); } diff --git a/src/libsheepySmall.c b/src/libsheepySmall.c @@ -677,8 +677,11 @@ char* sDictToStringTiny(sDictt* obj) { char *r = strdup("{"); + bool hasAtLeastOneElement = no; + forEachSDict(obj, e) { if (e->key) { + hasAtLeastOneElement = yes; iAppendS(&r, "\""); iAppendS(&r, e->key); iAppendS(&r, "\""); @@ -700,7 +703,12 @@ char* sDictToStringTiny(sDictt* obj) { } } - setS(r, -1, '}'); + if (hasAtLeastOneElement) { + setS(r, -1, '}'); + } + else { + iAppendS(&r, "}"); + } return(r); }