From 975573c26f0c79e2ad875b1797a5f032ad912de0 Mon Sep 17 00:00:00 2001 From: raster Date: Sun, 16 Aug 2009 07:06:22 +0000 Subject: [PATCH] fix - write empty chunks. need them for corner case. see comments. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eet@41810 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/eet_data.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/eet_data.c b/src/lib/eet_data.c index 8910a63..c5c3fc8 100644 --- a/src/lib/eet_data.c +++ b/src/lib/eet_data.c @@ -868,7 +868,10 @@ eet_data_chunk_put(Eet_Dictionary *ed, Eet_Data_Chunk *chnk, Eet_Data_Stream *ds int string_ret = 0; unsigned char buf[4] = "CHK"; - if (!chnk->data && chnk->type != EET_T_NULL) return; + /* disable this check - it will allow empty chunks to be written. this is + * right for corner-cases when y have a struct with empty fields (empty + * strings or empty list ptrs etc.) */ + /* if (!chnk->data && chnk->type != EET_T_NULL) return; */ /* chunk head */ /* eet_data_stream_write(ds, "CHnK", 4);*/ @@ -896,7 +899,8 @@ eet_data_chunk_put(Eet_Dictionary *ed, Eet_Data_Chunk *chnk, Eet_Data_Stream *ds eet_data_stream_write(ds, string, string_ret); /* write payload */ - eet_data_stream_write(ds, chnk->data, chnk->size); + if (chnk->data) + eet_data_stream_write(ds, chnk->data, chnk->size); free(string); on_error: -- 2.7.4