You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2013/09/14 21:29:42 UTC
[lucy-commits] [10/15] git commit: refs/heads/cfish-string-prep1 - Rework string
constructors
Rework string constructors
* Add 'origin' instance variable to String to distinguish normal
strings, substrings, and wrapped strings.
* Add Str_new_wrap_* constructors to replace ViewCharBuf.
* Rename Str_new_steal_* constructors.
* Remove SStr_new constructor
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/0008a998
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/0008a998
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/0008a998
Branch: refs/heads/cfish-string-prep1
Commit: 0008a9980b3d6604f90f0654e0631597c5c7a766
Parents: fc363f0
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sat Sep 14 20:16:38 2013 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sat Sep 14 20:16:38 2013 +0200
----------------------------------------------------------------------
c/src/Lucy/Index/DocReader.c | 3 +-
clownfish/runtime/core/Clownfish/CharBuf.c | 2 +-
clownfish/runtime/core/Clownfish/Num.c | 1 -
clownfish/runtime/core/Clownfish/String.c | 144 +++++++++----------
clownfish/runtime/core/Clownfish/String.cfh | 53 +++----
.../perl/buildlib/Clownfish/Build/Binding.pm | 17 ---
clownfish/runtime/perl/lib/Clownfish.pm | 8 --
clownfish/runtime/perl/xs/XSBind.c | 1 -
core/Lucy/Analysis/SnowballStopFilter.c | 2 +-
core/Lucy/Index/SortCache/TextSortCache.c | 2 +-
core/Lucy/Util/Freezer.c | 4 +-
core/Lucy/Util/Json.c | 2 +-
example-lang/src/Lucy/Document/Doc.c | 3 +-
perl/xs/Lucy/Document/Doc.c | 2 +-
perl/xs/Lucy/Index/Inverter.c | 2 +-
ruby/src/Lucy/Document/Doc.c | 3 +-
16 files changed, 110 insertions(+), 139 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/c/src/Lucy/Index/DocReader.c
----------------------------------------------------------------------
diff --git a/c/src/Lucy/Index/DocReader.c b/c/src/Lucy/Index/DocReader.c
index 7904c45..31a1077 100644
--- a/c/src/Lucy/Index/DocReader.c
+++ b/c/src/Lucy/Index/DocReader.c
@@ -77,8 +77,7 @@ DefDocReader_Fetch_Doc_IMP(DefaultDocReader *self, int32_t doc_id) {
char *buf = (char*)MALLOCATE(value_len + 1);
InStream_Read_Bytes(dat_in, buf, value_len);
buf[value_len] = '\0';
- value
- = (Obj*)Str_new_steal_from_trusted_str(buf, value_len);
+ value = (Obj*)Str_new_steal_utf8(buf, value_len);
break;
}
case FType_BLOB: {
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/core/Clownfish/CharBuf.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/core/Clownfish/CharBuf.c b/clownfish/runtime/core/Clownfish/CharBuf.c
index 7b407ad..bfbae45 100644
--- a/clownfish/runtime/core/Clownfish/CharBuf.c
+++ b/clownfish/runtime/core/Clownfish/CharBuf.c
@@ -304,7 +304,7 @@ CB_To_String_IMP(CharBuf *self) {
String*
CB_Yield_String_IMP(CharBuf *self) {
String *retval
- = Str_new_steal_from_trusted_str(self->ptr, self->size);
+ = Str_new_steal_trusted_utf8(self->ptr, self->size);
self->ptr = NULL;
self->size = 0;
self->cap = 0;
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/core/Clownfish/Num.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/core/Clownfish/Num.c b/clownfish/runtime/core/Clownfish/Num.c
index 728c618..f18bf76 100644
--- a/clownfish/runtime/core/Clownfish/Num.c
+++ b/clownfish/runtime/core/Clownfish/Num.c
@@ -22,7 +22,6 @@
#define C_CFISH_FLOAT32
#define C_CFISH_FLOAT64
#define C_CFISH_BOOLNUM
-#define C_CFISH_VIEWCHARBUF
#define CFISH_USE_SHORT_NAMES
#define CHY_USE_SHORT_NAMES
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/core/Clownfish/String.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/core/Clownfish/String.c b/clownfish/runtime/core/Clownfish/String.c
index 96cf22f..c917a79 100644
--- a/clownfish/runtime/core/Clownfish/String.c
+++ b/clownfish/runtime/core/Clownfish/String.c
@@ -15,7 +15,6 @@
*/
#define C_CFISH_STRING
-#define C_CFISH_VIEWCHARBUF
#define C_CFISH_STACKSTRING
#define C_CFISH_STRINGITERATOR
#define C_CFISH_STACKSTRINGITERATOR
@@ -53,18 +52,18 @@ S_die_invalid_utf8(const char *text, size_t size, const char *file, int line,
const char *func);
String*
-Str_new_from_utf8(const char *ptr, size_t size) {
- if (!StrHelp_utf8_valid(ptr, size)) {
- DIE_INVALID_UTF8(ptr, size);
+Str_new_from_utf8(const char *utf8, size_t size) {
+ if (!StrHelp_utf8_valid(utf8, size)) {
+ DIE_INVALID_UTF8(utf8, size);
}
String *self = (String*)VTable_Make_Obj(STRING);
- return Str_init_from_trusted_utf8(self, ptr, size);
+ return Str_init_from_trusted_utf8(self, utf8, size);
}
String*
-Str_new_from_trusted_utf8(const char *ptr, size_t size) {
+Str_new_from_trusted_utf8(const char *utf8, size_t size) {
String *self = (String*)VTable_Make_Obj(STRING);
- return Str_init_from_trusted_utf8(self, ptr, size);
+ return Str_init_from_trusted_utf8(self, utf8, size);
}
String*
@@ -77,31 +76,57 @@ Str_init_from_trusted_utf8(String *self, const char *utf8, size_t size) {
ptr[size] = '\0'; // Null terminate.
// Assign.
- self->ptr = ptr;
- self->size = size;
+ self->ptr = ptr;
+ self->size = size;
+ self->origin = self;
return self;
}
String*
-Str_new_steal_from_trusted_str(const char *ptr, size_t size) {
+Str_new_steal_utf8(const char *utf8, size_t size) {
+ if (!StrHelp_utf8_valid(utf8, size)) {
+ DIE_INVALID_UTF8(utf8, size);
+ }
+ String *self = (String*)VTable_Make_Obj(STRING);
+ return Str_init_steal_trusted_utf8(self, utf8, size);
+}
+
+String*
+Str_new_steal_trusted_utf8(const char *utf8, size_t size) {
String *self = (String*)VTable_Make_Obj(STRING);
- return Str_init_steal_trusted_str(self, ptr, size);
+ return Str_init_steal_trusted_utf8(self, utf8, size);
}
String*
-Str_init_steal_trusted_str(String *self, const char *ptr, size_t size) {
- self->ptr = ptr;
- self->size = size;
+Str_init_steal_trusted_utf8(String *self, const char *utf8, size_t size) {
+ self->ptr = utf8;
+ self->size = size;
+ self->origin = self;
return self;
}
String*
-Str_new_steal_str(const char *ptr, size_t size) {
- if (!StrHelp_utf8_valid(ptr, size)) {
- DIE_INVALID_UTF8(ptr, size);
+Str_new_wrap_utf8(const char *utf8, size_t size) {
+ if (!StrHelp_utf8_valid(utf8, size)) {
+ DIE_INVALID_UTF8(utf8, size);
}
- return Str_new_steal_from_trusted_str(ptr, size);
+ String *self = (String*)VTable_Make_Obj(STRING);
+ return Str_init_wrap_trusted_utf8(self, utf8, size);
+}
+
+String*
+Str_new_wrap_trusted_utf8(const char *utf8, size_t size) {
+ String *self = (String*)VTable_Make_Obj(STRING);
+ return Str_init_wrap_trusted_utf8(self, utf8, size);
+}
+
+String*
+Str_init_wrap_trusted_utf8(String *self, const char *ptr, size_t size) {
+ self->ptr = ptr;
+ self->size = size;
+ self->origin = NULL;
+ return self;
}
String*
@@ -112,8 +137,9 @@ Str_new_from_char(uint32_t code_point) {
ptr[size] = '\0';
String *self = (String*)VTable_Make_Obj(STRING);
- self->ptr = ptr;
- self->size = size;
+ self->ptr = ptr;
+ self->size = size;
+ self->origin = self;
return self;
}
@@ -129,9 +155,23 @@ Str_newf(const char *pattern, ...) {
return self;
}
+static String*
+S_new_substring(String *origin, size_t byte_offset, size_t size) {
+ String *self = (String*)VTable_Make_Obj(STRING);
+ self->ptr = origin->ptr + byte_offset;
+ self->size = size;
+ self->origin = (String*)INCREF(origin);
+ return self;
+}
+
void
Str_Destroy_IMP(String *self) {
- FREEMEM((char*)self->ptr);
+ if (self->origin == self) {
+ FREEMEM((char*)self->ptr);
+ }
+ else {
+ DECREF(self->origin);
+ }
SUPER_DESTROY(self, STRING);
}
@@ -275,7 +315,7 @@ Str_Cat_Trusted_Utf8_IMP(String *self, const char* ptr, size_t size) {
memcpy(result_ptr + self->size, ptr, size);
result_ptr[result_size] = '\0';
String *result = (String*)VTable_Make_Obj(STRING);
- return Str_init_steal_trusted_str(result, result_ptr, result_size);
+ return Str_init_steal_trusted_utf8(result, result_ptr, result_size);
}
bool
@@ -411,13 +451,12 @@ Str_SubString_IMP(String *self, size_t offset, size_t len) {
StackStringIterator *iter = STR_STACKTOP(self);
SStrIter_Advance(iter, offset);
- int start_offset = iter->byte_offset;
- const char *sub_start = self->ptr + start_offset;
+ size_t start_offset = iter->byte_offset;
SStrIter_Advance(iter, len);
- size_t byte_len = iter->byte_offset - start_offset;
+ size_t size = iter->byte_offset - start_offset;
- return Str_new_from_trusted_utf8(sub_start, byte_len);
+ return S_new_substring(self, start_offset, size);
}
int
@@ -480,46 +519,6 @@ Str_StackTail_IMP(String *self, void *allocation) {
/*****************************************************************/
-ViewCharBuf*
-ViewCB_new_from_utf8(const char *utf8, size_t size) {
- if (!StrHelp_utf8_valid(utf8, size)) {
- DIE_INVALID_UTF8(utf8, size);
- }
- return ViewCB_new_from_trusted_utf8(utf8, size);
-}
-
-ViewCharBuf*
-ViewCB_new_from_trusted_utf8(const char *utf8, size_t size) {
- ViewCharBuf *self = (ViewCharBuf*)VTable_Make_Obj(VIEWCHARBUF);
- return ViewCB_init(self, utf8, size);
-}
-
-ViewCharBuf*
-ViewCB_init(ViewCharBuf *self, const char *utf8, size_t size) {
- self->ptr = utf8;
- self->size = size;
- return self;
-}
-
-void
-ViewCB_Destroy_IMP(ViewCharBuf *self) {
- // Note that we do not free self->ptr, and that we invoke the
- // SUPER_DESTROY with STRING instead of VIEWCHARBUF.
- SUPER_DESTROY(self, STRING);
-}
-
-/*****************************************************************/
-
-StackString*
-SStr_new(void *allocation) {
- static char empty_string[] = "";
- StackString *self
- = (StackString*)VTable_Init_Obj(STACKSTRING, allocation);
- self->size = 0;
- self->ptr = empty_string;
- return self;
-}
-
StackString*
SStr_new_from_str(void *allocation, size_t alloc_size, String *string) {
size_t size = string->size;
@@ -533,8 +532,9 @@ SStr_new_from_str(void *allocation, size_t alloc_size, String *string) {
ptr[size] = '\0';
StackString *self = (StackString*)VTable_Init_Obj(STACKSTRING, allocation);
- self->ptr = ptr;
- self->size = size;
+ self->ptr = ptr;
+ self->size = size;
+ self->origin = NULL;
return self;
}
@@ -542,8 +542,9 @@ StackString*
SStr_wrap_str(void *allocation, const char *ptr, size_t size) {
StackString *self
= (StackString*)VTable_Init_Obj(STACKSTRING, allocation);
- self->size = size;
- self->ptr = ptr;
+ self->size = size;
+ self->ptr = ptr;
+ self->origin = NULL;
return self;
}
@@ -607,8 +608,7 @@ StrIter_substring(StringIterator *top, StringIterator *tail) {
}
}
- return Str_new_from_trusted_utf8(string->ptr + top_offset,
- tail_offset - top_offset);
+ return S_new_substring(string, top_offset, tail_offset - top_offset);
}
StringIterator*
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/core/Clownfish/String.cfh
----------------------------------------------------------------------
diff --git a/clownfish/runtime/core/Clownfish/String.cfh b/clownfish/runtime/core/Clownfish/String.cfh
index f64b73a..a1a0378 100644
--- a/clownfish/runtime/core/Clownfish/String.cfh
+++ b/clownfish/runtime/core/Clownfish/String.cfh
@@ -25,6 +25,7 @@ class Clownfish::String cnick Str
const char *ptr;
size_t size;
+ String *origin;
/** Return a new String which holds a copy of the passed-in string.
* Check for UTF-8 validity.
@@ -48,19 +49,39 @@ class Clownfish::String cnick Str
* passed-in string. Check validity of supplied UTF-8.
*/
inert incremented String*
- new_steal_str(const char *ptr, size_t size);
+ new_steal_utf8(const char *utf8, size_t size);
/** Return a pointer to a new String which assumes ownership of the
* passed-in string. Do not check validity of supplied UTF-8.
*/
inert incremented String*
- new_steal_from_trusted_str(const char *ptr, size_t size);
+ new_steal_trusted_utf8(const char *utf8, size_t size);
/** Initialize the String using the passed-in string. Do not check
* validity of supplied UTF-8.
*/
public inert String*
- init_steal_trusted_str(String *self, const char *ptr, size_t size);
+ init_steal_trusted_utf8(String *self, const char *utf8, size_t size);
+
+ /** Return a pointer to a new String which wraps an external buffer
+ * containing UTF-8. The buffer must stay unchanged for the lifetime
+ * of the String. Check validity of supplied UTF-8.
+ */
+ inert incremented String*
+ new_wrap_utf8(const char *utf8, size_t size);
+
+ /** Return a pointer to a new String which wraps an external buffer
+ * containing UTF-8. The buffer must stay unchanged for the lifetime
+ * of the String. Do not check validity of supplied UTF-8.
+ */
+ inert incremented String*
+ new_wrap_trusted_utf8(const char *utf8, size_t size);
+
+ /** Initialize the String which wraps an external buffer containing
+ * UTF-8. Do not check validity of supplied UTF-8.
+ */
+ public inert String*
+ init_wrap_trusted_utf8(String *self, const char *utf8, size_t size);
/** Return a String which holds a single character.
*/
@@ -256,29 +277,8 @@ class Clownfish::String cnick Str
StackTail(String *self, void *allocation);
}
-class Clownfish::ViewCharBuf cnick ViewCB
- inherits Clownfish::String {
-
- inert incremented ViewCharBuf*
- new_from_utf8(const char *utf8, size_t size);
-
- inert incremented ViewCharBuf*
- new_from_trusted_utf8(const char *utf8, size_t size);
-
- inert ViewCharBuf*
- init(ViewCharBuf *self, const char *utf8, size_t size);
-
- public void
- Destroy(ViewCharBuf *self);
-}
-
class Clownfish::StackString cnick SStr
- inherits Clownfish::ViewCharBuf {
-
- /** Return a StackString with a blank string.
- */
- inert incremented StackString*
- new(void *allocation);
+ inherits Clownfish::String {
/**
* @param allocation A single block of memory which will be used for both
@@ -424,7 +424,8 @@ class Clownfish::StackStringIterator cnick SStrIter
__C__
-#define CFISH_SSTR_BLANK() cfish_SStr_new(cfish_alloca(cfish_SStr_size()))
+#define CFISH_SSTR_BLANK() \
+ cfish_SStr_wrap_str(cfish_alloca(cfish_SStr_size()), "", 0)
#define CFISH_SSTR_WRAP(source) \
cfish_SStr_wrap(cfish_alloca(cfish_SStr_size()), source)
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
----------------------------------------------------------------------
diff --git a/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm b/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
index 2d7ef0e..7743525 100644
--- a/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
+++ b/clownfish/runtime/perl/buildlib/Clownfish/Build/Binding.pm
@@ -176,23 +176,6 @@ to_perl(self)
CODE:
RETVAL = XSBind_str_to_sv(self);
OUTPUT: RETVAL
-
-MODULE = Clownfish PACKAGE = Clownfish::ViewCharBuf
-
-SV*
-_new(unused, sv)
- SV *unused;
- SV *sv;
-CODE:
-{
- STRLEN size;
- char *ptr = SvPVutf8(sv, size);
- cfish_ViewCharBuf *self
- = cfish_ViewCB_new_from_trusted_utf8(ptr, size);
- CFISH_UNUSED_VAR(unused);
- RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
-}
-OUTPUT: RETVAL
END_XS_CODE
my $binding = Clownfish::CFC::Binding::Perl::Class->new(
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/perl/lib/Clownfish.pm
----------------------------------------------------------------------
diff --git a/clownfish/runtime/perl/lib/Clownfish.pm b/clownfish/runtime/perl/lib/Clownfish.pm
index 7a4f961..d683245 100644
--- a/clownfish/runtime/perl/lib/Clownfish.pm
+++ b/clownfish/runtime/perl/lib/Clownfish.pm
@@ -162,14 +162,6 @@ sub error {$Clownfish::Err::error}
}
{
- package Clownfish::ViewCharBuf;
- our $VERSION = '0.003000';
- $VERSION = eval $VERSION;
- use Carp;
- sub new { confess "ViewCharBuf has no public constructor." }
-}
-
-{
package Clownfish::StackString;
our $VERSION = '0.003000';
$VERSION = eval $VERSION;
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/clownfish/runtime/perl/xs/XSBind.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/perl/xs/XSBind.c b/clownfish/runtime/perl/xs/XSBind.c
index ea7700d..755667a 100644
--- a/clownfish/runtime/perl/xs/XSBind.c
+++ b/clownfish/runtime/perl/xs/XSBind.c
@@ -96,7 +96,6 @@ XSBind_maybe_sv_to_cfish_obj(SV *sv, cfish_VTable *vtable, void *allocation) {
}
else if (allocation &&
(vtable == CFISH_STACKSTRING
- || vtable == CFISH_VIEWCHARBUF
|| vtable == CFISH_STRING
|| vtable == CFISH_OBJ)
) {
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/core/Lucy/Analysis/SnowballStopFilter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Analysis/SnowballStopFilter.c b/core/Lucy/Analysis/SnowballStopFilter.c
index 4aa9d16..f4c995e 100644
--- a/core/Lucy/Analysis/SnowballStopFilter.c
+++ b/core/Lucy/Analysis/SnowballStopFilter.c
@@ -144,7 +144,7 @@ SnowStop_gen_stoplist(const String *language) {
NoCloneHash *stoplist = NoCloneHash_new(num_stopwords);
for (uint32_t i = 0; words[i] != NULL; i++) {
char *word = (char*)words[i];
- ViewCharBuf *stop = ViewCB_new_from_trusted_utf8(word, strlen(word));
+ String *stop = Str_new_wrap_trusted_utf8(word, strlen(word));
NoCloneHash_Store(stoplist, (Obj*)stop, (Obj*)Str_newf(""));
DECREF(stop);
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/core/Lucy/Index/SortCache/TextSortCache.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Index/SortCache/TextSortCache.c b/core/Lucy/Index/SortCache/TextSortCache.c
index afd5b50..ad533a4 100644
--- a/core/Lucy/Index/SortCache/TextSortCache.c
+++ b/core/Lucy/Index/SortCache/TextSortCache.c
@@ -115,7 +115,7 @@ TextSortCache_Value_IMP(TextSortCache *self, int32_t ord) {
InStream_Seek(ivars->dat_in, offset);
InStream_Read_Bytes(ivars->dat_in, ptr, len);
ptr[len] = '\0';
- return (Obj*)Str_new_steal_str(ptr, len);
+ return (Obj*)Str_new_steal_utf8(ptr, len);
}
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/core/Lucy/Util/Freezer.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Util/Freezer.c b/core/Lucy/Util/Freezer.c
index 5452728..ea22431 100644
--- a/core/Lucy/Util/Freezer.c
+++ b/core/Lucy/Util/Freezer.c
@@ -222,7 +222,7 @@ Freezer_deserialize_string(String *string, InStream *instream) {
if (!StrHelp_utf8_valid(buf, size)) {
THROW(ERR, "Attempt to deserialize invalid UTF-8");
}
- return Str_init_steal_trusted_str(string, buf, size);
+ return Str_init_steal_trusted_utf8(string, buf, size);
}
String*
@@ -338,7 +338,7 @@ Freezer_deserialize_hash(Hash *hash, InStream *instream) {
char *key_buf = (char*)MALLOCATE(len + 1);
InStream_Read_Bytes(instream, key_buf, len);
key_buf[len] = '\0';
- String *key = Str_new_steal_from_trusted_str(key_buf, len);
+ String *key = Str_new_steal_utf8(key_buf, len);
Hash_Store(hash, (Obj*)key, THAW(instream));
DECREF(key);
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/core/Lucy/Util/Json.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Util/Json.c b/core/Lucy/Util/Json.c
index 5fedf1e..c877b74 100644
--- a/core/Lucy/Util/Json.c
+++ b/core/Lucy/Util/Json.c
@@ -654,7 +654,7 @@ S_unescape_text(const char *top, const char *end) {
Err_set_error(Err_new(mess));
return NULL;
}
- return Str_new_steal_from_trusted_str(target_buf, target_size);
+ return Str_new_steal_trusted_utf8(target_buf, target_size);
}
static CFISH_INLINE bool
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/example-lang/src/Lucy/Document/Doc.c
----------------------------------------------------------------------
diff --git a/example-lang/src/Lucy/Document/Doc.c b/example-lang/src/Lucy/Document/Doc.c
index db1d8f7..1ec532d 100644
--- a/example-lang/src/Lucy/Document/Doc.c
+++ b/example-lang/src/Lucy/Document/Doc.c
@@ -55,8 +55,7 @@ lucy_Doc_deserialize(lucy_Doc *self, lucy_InStream *instream) {
}
lucy_Obj*
-lucy_Doc_extract(lucy_Doc *self, lucy_CharBuf *field,
- lucy_ViewCharBuf *target) {
+lucy_Doc_extract(lucy_Doc *self, lucy_CharBuf *field) {
THROW(LUCY_ERR, "TODO");
UNREACHABLE_RETURN(lucy_Obj*);
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/perl/xs/Lucy/Document/Doc.c
----------------------------------------------------------------------
diff --git a/perl/xs/Lucy/Document/Doc.c b/perl/xs/Lucy/Document/Doc.c
index f31eca3..f74ed22 100644
--- a/perl/xs/Lucy/Document/Doc.c
+++ b/perl/xs/Lucy/Document/Doc.c
@@ -158,7 +158,7 @@ LUCY_Doc_Extract_IMP(lucy_Doc *self, cfish_String *field) {
else {
STRLEN size;
char *ptr = SvPVutf8(sv, size);
- retval = (cfish_Obj*)cfish_ViewCB_new_from_trusted_utf8(ptr, size);
+ retval = (cfish_Obj*)cfish_Str_new_wrap_trusted_utf8(ptr, size);
}
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/perl/xs/Lucy/Index/Inverter.c
----------------------------------------------------------------------
diff --git a/perl/xs/Lucy/Index/Inverter.c b/perl/xs/Lucy/Index/Inverter.c
index 1d120b1..23eb9ab 100644
--- a/perl/xs/Lucy/Index/Inverter.c
+++ b/perl/xs/Lucy/Index/Inverter.c
@@ -101,7 +101,7 @@ LUCY_Inverter_Invert_Doc_IMP(lucy_Inverter *self, lucy_Doc *doc) {
char *val_ptr = SvPVutf8(value_sv, val_len);
CFISH_DECREF(entry_ivars->value);
entry_ivars->value
- = (cfish_Obj*)cfish_ViewCB_new_from_trusted_utf8(
+ = (cfish_Obj*)cfish_Str_new_wrap_trusted_utf8(
val_ptr, val_len);
break;
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/0008a998/ruby/src/Lucy/Document/Doc.c
----------------------------------------------------------------------
diff --git a/ruby/src/Lucy/Document/Doc.c b/ruby/src/Lucy/Document/Doc.c
index db1d8f7..1ec532d 100644
--- a/ruby/src/Lucy/Document/Doc.c
+++ b/ruby/src/Lucy/Document/Doc.c
@@ -55,8 +55,7 @@ lucy_Doc_deserialize(lucy_Doc *self, lucy_InStream *instream) {
}
lucy_Obj*
-lucy_Doc_extract(lucy_Doc *self, lucy_CharBuf *field,
- lucy_ViewCharBuf *target) {
+lucy_Doc_extract(lucy_Doc *self, lucy_CharBuf *field) {
THROW(LUCY_ERR, "TODO");
UNREACHABLE_RETURN(lucy_Obj*);
}