Author: marvin
Date: Mon Jul 2 19:53:56 2012
New Revision: 1356440
URL: http://svn.apache.org/viewvc?rev=1356440&view=rev
Log:
Fix calls to Load() with NULL invocant.
Modified:
lucy/trunk/core/Lucy/Object/Hash.c
lucy/trunk/core/Lucy/Object/VTable.c
lucy/trunk/core/Lucy/Test/Plan/TestBlobType.c
lucy/trunk/core/Lucy/Test/Plan/TestFullTextType.c
Modified: lucy/trunk/core/Lucy/Object/Hash.c
URL:
http://svn.apache.org/viewvc/lucy/trunk/core/Lucy/Object/Hash.c?rev=1356440&r1=1356439&r2=1356440&view=diff
==============================================================================
--- lucy/trunk/core/Lucy/Object/Hash.c (original)
+++ lucy/trunk/core/Lucy/Object/Hash.c Mon Jul 2 19:53:56 2012
@@ -150,7 +150,7 @@ Hash_load(Hash *self, Obj *dump) {
VTable_Get_Name(vtable));
}
else if (load != (Obj_Load_t)Hash_load) { // stop inf loop
- return load(NULL, dump);
+ return VTable_Load_Obj(vtable, dump);
}
}
}
Modified: lucy/trunk/core/Lucy/Object/VTable.c
URL:
http://svn.apache.org/viewvc/lucy/trunk/core/Lucy/Object/VTable.c?rev=1356440&r1=1356439&r2=1356440&view=diff
==============================================================================
--- lucy/trunk/core/Lucy/Object/VTable.c (original)
+++ lucy/trunk/core/Lucy/Object/VTable.c Mon Jul 2 19:53:56 2012
@@ -272,7 +272,10 @@ VTable_load_obj(VTable *self, Obj *dump)
if (load == Obj_load) {
THROW(ERR, "Abstract method Load() not defined for %o", self->name);
}
- return load(NULL, dump);
+ Obj *invoker = VTable_Make_Obj(self);
+ Obj *loaded = load(invoker, dump);
+ DECREF(invoker);
+ return loaded;
}
static void
Modified: lucy/trunk/core/Lucy/Test/Plan/TestBlobType.c
URL:
http://svn.apache.org/viewvc/lucy/trunk/core/Lucy/Test/Plan/TestBlobType.c?rev=1356440&r1=1356439&r2=1356440&view=diff
==============================================================================
--- lucy/trunk/core/Lucy/Test/Plan/TestBlobType.c (original)
+++ lucy/trunk/core/Lucy/Test/Plan/TestBlobType.c Mon Jul 2 19:53:56 2012
@@ -28,7 +28,7 @@ test_Dump_Load_and_Equals(TestBatch *bat
Obj *dump = (Obj*)BlobType_Dump(type);
Obj *clone = Obj_Load(dump, dump);
Obj *another_dump = (Obj*)BlobType_Dump_For_Schema(type);
- BlobType *another_clone = BlobType_load(NULL, another_dump);
+ BlobType *another_clone = BlobType_load(type, another_dump);
TEST_TRUE(batch, BlobType_Equals(type, (Obj*)clone),
"Dump => Load round trip");
Modified: lucy/trunk/core/Lucy/Test/Plan/TestFullTextType.c
URL:
http://svn.apache.org/viewvc/lucy/trunk/core/Lucy/Test/Plan/TestFullTextType.c?rev=1356440&r1=1356439&r2=1356440&view=diff
==============================================================================
--- lucy/trunk/core/Lucy/Test/Plan/TestFullTextType.c (original)
+++ lucy/trunk/core/Lucy/Test/Plan/TestFullTextType.c Mon Jul 2 19:53:56 2012
@@ -45,7 +45,7 @@ test_Dump_Load_and_Equals(TestBatch *bat
// (This step is normally performed by Schema_Load() internally.)
Hash_Store_Str((Hash*)another_dump, "analyzer", 8, INCREF(tokenizer));
- FullTextType *another_clone = FullTextType_load(NULL, another_dump);
+ FullTextType *another_clone = FullTextType_load(type, another_dump);
TEST_FALSE(batch, FullTextType_Equals(type, (Obj*)boost_differs),
"Equals() false with different boost");