Adjust for Clownfish::Boolean changes
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/957ae1e5 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/957ae1e5 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/957ae1e5 Branch: refs/heads/master Commit: 957ae1e5c355f3b2bddfa0ed37d6063ed6f93cd6 Parents: 20dbfa3 Author: Nick Wellnhofer <[email protected]> Authored: Thu Jul 9 13:44:51 2015 +0200 Committer: Nick Wellnhofer <[email protected]> Committed: Thu Jul 9 16:38:43 2015 +0200 ---------------------------------------------------------------------- core/Lucy/Analysis/Normalizer.c | 4 ++-- core/Lucy/Test/Analysis/TestNormalizer.c | 4 ++-- core/Lucy/Test/Util/TestFreezer.c | 4 ++-- core/Lucy/Util/Freezer.c | 30 +++++++++++++-------------- core/Lucy/Util/Json.c | 7 +++++-- core/Lucy/Util/ToolSet.h | 1 + 6 files changed, 27 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/957ae1e5/core/Lucy/Analysis/Normalizer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Analysis/Normalizer.c b/core/Lucy/Analysis/Normalizer.c index eea503e..6be0e96 100644 --- a/core/Lucy/Analysis/Normalizer.c +++ b/core/Lucy/Analysis/Normalizer.c @@ -136,10 +136,10 @@ Normalizer_Dump_IMP(Normalizer *self) { Hash_Store_Utf8(dump, "normalization_form", 18, (Obj*)form); - BoolNum *case_fold = Bool_singleton(!!(options & UTF8PROC_CASEFOLD)); + Boolean *case_fold = Bool_singleton(!!(options & UTF8PROC_CASEFOLD)); Hash_Store_Utf8(dump, "case_fold", 9, (Obj*)case_fold); - BoolNum *strip_accents = Bool_singleton(!!(options & UTF8PROC_STRIPMARK)); + Boolean *strip_accents = Bool_singleton(!!(options & UTF8PROC_STRIPMARK)); Hash_Store_Utf8(dump, "strip_accents", 13, (Obj*)strip_accents); return dump; http://git-wip-us.apache.org/repos/asf/lucy/blob/957ae1e5/core/Lucy/Test/Analysis/TestNormalizer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Test/Analysis/TestNormalizer.c b/core/Lucy/Test/Analysis/TestNormalizer.c index 0b8f85c..34bd173 100644 --- a/core/Lucy/Test/Analysis/TestNormalizer.c +++ b/core/Lucy/Test/Analysis/TestNormalizer.c @@ -81,9 +81,9 @@ test_normalization(TestBatchRunner *runner) { Hash *test = (Hash*)Vec_Fetch(tests, i); String *form = (String*)Hash_Fetch_Utf8( test, "normalization_form", 18); - bool case_fold = Bool_Get_Value((BoolNum*)Hash_Fetch_Utf8( + bool case_fold = Bool_Get_Value((Boolean*)Hash_Fetch_Utf8( test, "case_fold", 9)); - bool strip_accents = Bool_Get_Value((BoolNum*)Hash_Fetch_Utf8( + bool strip_accents = Bool_Get_Value((Boolean*)Hash_Fetch_Utf8( test, "strip_accents", 13)); Normalizer *normalizer = Normalizer_new(form, case_fold, strip_accents); Vector *words = (Vector*)Hash_Fetch_Utf8(test, "words", 5); http://git-wip-us.apache.org/repos/asf/lucy/blob/957ae1e5/core/Lucy/Test/Util/TestFreezer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Test/Util/TestFreezer.c b/core/Lucy/Test/Util/TestFreezer.c index 01fb687..b77f20b 100644 --- a/core/Lucy/Test/Util/TestFreezer.c +++ b/core/Lucy/Test/Util/TestFreezer.c @@ -125,7 +125,7 @@ test_num(TestBatchRunner *runner) { Float64 *f64_thaw = (Float64*)S_freeze_thaw((Obj*)f64); Integer32 *i32_thaw = (Integer32*)S_freeze_thaw((Obj*)i32); Integer64 *i64_thaw = (Integer64*)S_freeze_thaw((Obj*)i64); - BoolNum *true_thaw = (BoolNum*)S_freeze_thaw((Obj*)CFISH_TRUE); + Boolean *true_thaw = (Boolean*)S_freeze_thaw((Obj*)CFISH_TRUE); TEST_TRUE(runner, Float32_Equals(f32, (Obj*)f32_thaw), "Float32 freeze/thaw"); @@ -136,7 +136,7 @@ test_num(TestBatchRunner *runner) { TEST_TRUE(runner, Int64_Equals(i64, (Obj*)i64_thaw), "Integer64 freeze/thaw"); TEST_TRUE(runner, Bool_Equals(CFISH_TRUE, (Obj*)true_thaw), - "BoolNum freeze/thaw"); + "Boolean freeze/thaw"); DECREF(i64_thaw); DECREF(i32_thaw); http://git-wip-us.apache.org/repos/asf/lucy/blob/957ae1e5/core/Lucy/Util/Freezer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Util/Freezer.c b/core/Lucy/Util/Freezer.c index ed6e38c..4512017 100644 --- a/core/Lucy/Util/Freezer.c +++ b/core/Lucy/Util/Freezer.c @@ -66,11 +66,7 @@ Freezer_serialize(Obj *obj, OutStream *outstream) { } else if (Obj_is_a(obj, NUM)) { if (Obj_is_a(obj, INTNUM)) { - if (Obj_is_a(obj, BOOLNUM)) { - bool val = Bool_Get_Value((BoolNum*)obj); - OutStream_Write_U8(outstream, (uint8_t)val); - } - else if (Obj_is_a(obj, INTEGER32)) { + if (Obj_is_a(obj, INTEGER32)) { int32_t val = Int32_Get_Value((Integer32*)obj); OutStream_Write_C32(outstream, (uint32_t)val); } @@ -90,6 +86,10 @@ Freezer_serialize(Obj *obj, OutStream *outstream) { } } } + else if (Obj_is_a(obj, BOOLEAN)) { + bool val = Bool_Get_Value((Boolean*)obj); + OutStream_Write_U8(outstream, (uint8_t)val); + } else if (Obj_is_a(obj, QUERY)) { Query_Serialize((Query*)obj, outstream); } @@ -139,15 +139,7 @@ Freezer_deserialize(Obj *obj, InStream *instream) { } else if (Obj_is_a(obj, NUM)) { if (Obj_is_a(obj, INTNUM)) { - if (Obj_is_a(obj, BOOLNUM)) { - bool value = !!InStream_Read_U8(instream); - Obj *result = value ? INCREF(CFISH_TRUE) : INCREF(CFISH_FALSE); - // FIXME: This DECREF is essentially a no-op causing a - // memory leak. - DECREF(obj); - obj = result; - } - else if (Obj_is_a(obj, INTEGER32)) { + if (Obj_is_a(obj, INTEGER32)) { int32_t value = (int32_t)InStream_Read_C32(instream); obj = (Obj*)Int32_init((Integer32*)obj, value); } @@ -167,6 +159,14 @@ Freezer_deserialize(Obj *obj, InStream *instream) { } } } + else if (Obj_is_a(obj, BOOLEAN)) { + bool value = !!InStream_Read_U8(instream); + Obj *result = value ? INCREF(CFISH_TRUE) : INCREF(CFISH_FALSE); + // FIXME: This DECREF is essentially a no-op causing a + // memory leak. + DECREF(obj); + obj = result; + } else if (Obj_is_a(obj, QUERY)) { obj = (Obj*)Query_Deserialize((Query*)obj, instream); } @@ -386,7 +386,7 @@ Freezer_dump(Obj *obj) { else if (Obj_is_a(obj, QUERY)) { return Query_Dump((Query*)obj); } - else if (Obj_is_a(obj, NUM)) { + else if (Obj_is_a(obj, NUM) || Obj_is_a(obj, BOOLEAN)) { return Obj_Clone(obj); } else { http://git-wip-us.apache.org/repos/asf/lucy/blob/957ae1e5/core/Lucy/Util/Json.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Util/Json.c b/core/Lucy/Util/Json.c index 740595c..d440fe9 100644 --- a/core/Lucy/Util/Json.c +++ b/core/Lucy/Util/Json.c @@ -750,12 +750,15 @@ Json_obj_to_bool(Obj *obj) { if (!obj) { THROW(ERR, "Can't extract bool from NULL"); } - else if (Obj_is_a(obj, STRING)) { - retval = (Str_To_I64((String*)obj) != 0); + else if (Obj_is_a(obj, BOOLEAN)) { + retval = Bool_Get_Value((Boolean*)obj); } else if (Obj_is_a(obj, NUM)) { retval = Num_To_Bool((Num*)obj); } + else if (Obj_is_a(obj, STRING)) { + retval = (Str_To_I64((String*)obj) != 0); + } else { THROW(ERR, "Can't extract bool from object of type %o", Obj_get_class_name(obj)); http://git-wip-us.apache.org/repos/asf/lucy/blob/957ae1e5/core/Lucy/Util/ToolSet.h ---------------------------------------------------------------------- diff --git a/core/Lucy/Util/ToolSet.h b/core/Lucy/Util/ToolSet.h index ee1b810..23d321b 100644 --- a/core/Lucy/Util/ToolSet.h +++ b/core/Lucy/Util/ToolSet.h @@ -37,6 +37,7 @@ extern "C" { #include <string.h> #include "Clownfish/Obj.h" #include "Lucy/Object/BitVector.h" +#include "Clownfish/Boolean.h" #include "Clownfish/ByteBuf.h" #include "Clownfish/String.h" #include "Clownfish/Err.h"
