You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2010/01/09 22:36:39 UTC
svn commit: r897557 - in /lucene/lucy/trunk/core/Lucy/Object: ByteBuf.c
CharBuf.c
Author: marvin
Date: Sat Jan 9 21:36:39 2010
New Revision: 897557
URL: http://svn.apache.org/viewvc?rev=897557&view=rev
Log:
Make it possible to use BB_Deserialize and CB_Deserialize to read values into
fully-fleshed out existing objects, rather than just newly allocated blanks
from VTable_Make_Obj().
Modified:
lucene/lucy/trunk/core/Lucy/Object/ByteBuf.c
lucene/lucy/trunk/core/Lucy/Object/CharBuf.c
Modified: lucene/lucy/trunk/core/Lucy/Object/ByteBuf.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/core/Lucy/Object/ByteBuf.c?rev=897557&r1=897556&r2=897557&view=diff
==============================================================================
--- lucene/lucy/trunk/core/Lucy/Object/ByteBuf.c (original)
+++ lucene/lucy/trunk/core/Lucy/Object/ByteBuf.c Sat Jan 9 21:36:39 2010
@@ -205,9 +205,6 @@
{
const size_t size = InStream_Read_C32(instream);
self = self ? self : (ByteBuf*)VTable_Make_Obj(BYTEBUF);
- self->cap = 0;
- self->size = 0;
- self->buf = NULL;
SI_maybe_grow(self, size);
self->size = size;
InStream_Read_Bytes(instream, self->buf, size);
Modified: lucene/lucy/trunk/core/Lucy/Object/CharBuf.c
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/core/Lucy/Object/CharBuf.c?rev=897557&r1=897556&r2=897557&view=diff
==============================================================================
--- lucene/lucy/trunk/core/Lucy/Object/CharBuf.c (original)
+++ lucene/lucy/trunk/core/Lucy/Object/CharBuf.c Sat Jan 9 21:36:39 2010
@@ -467,14 +467,14 @@
CharBuf*
CB_deserialize(CharBuf *self, InStream *instream)
{
+ size_t size = InStream_Read_C32(instream);
self = self ? self : (CharBuf*)VTable_Make_Obj(CHARBUF);
- self->size = InStream_Read_C32(instream);
- self->cap = self->size + 1;
- self->ptr = (char*)MALLOCATE(self->cap);
- InStream_Read_Bytes(instream, self->ptr, self->size);
- self->ptr[self->size] = '\0';
- if (!StrHelp_utf8_valid(self->ptr, self->size)) {
- S_die_invalid_utf8(self->ptr, self->size);
+ SI_maybe_grow(self, size);
+ InStream_Read_Bytes(instream, self->ptr, size);
+ self->size = size;
+ self->ptr[size] = '\0';
+ if (!StrHelp_utf8_valid(self->ptr, size)) {
+ S_die_invalid_utf8(self->ptr, size);
}
return self;
}