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/13 20:31:35 UTC
[lucy-commits] [03/17] git commit: refs/heads/cfish-string-prep1 - Eliminate
SStr_Assign_Trusted_Str in XSBind.c
Eliminate SStr_Assign_Trusted_Str in XSBind.c
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/051e87be
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/051e87be
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/051e87be
Branch: refs/heads/cfish-string-prep1
Commit: 051e87beff3d806f0ab7c1169bd08890f9225e37
Parents: a3e5cf9
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sat Sep 7 20:32:35 2013 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Sep 9 20:17:51 2013 +0200
----------------------------------------------------------------------
clownfish/runtime/perl/xs/XSBind.c | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/051e87be/clownfish/runtime/perl/xs/XSBind.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/perl/xs/XSBind.c b/clownfish/runtime/perl/xs/XSBind.c
index a67e07c..2cfaaade 100644
--- a/clownfish/runtime/perl/xs/XSBind.c
+++ b/clownfish/runtime/perl/xs/XSBind.c
@@ -237,9 +237,8 @@ XSBind_str_to_sv(const cfish_String *str) {
static cfish_Hash*
S_perl_hash_to_cfish_hash(HV *phash) {
- uint32_t num_keys = hv_iterinit(phash);
- cfish_Hash *retval = cfish_Hash_new(num_keys);
- cfish_StackString *key = CFISH_SStr_WRAP_STR("", 0);
+ uint32_t num_keys = hv_iterinit(phash);
+ cfish_Hash *retval = cfish_Hash_new(num_keys);
while (num_keys--) {
HE *entry = hv_iternext(phash);
@@ -253,12 +252,10 @@ S_perl_hash_to_cfish_hash(HV *phash) {
// this.
SV *key_sv = HeKEY_sv(entry);
char *key_str = SvPVutf8(key_sv, key_len);
- CFISH_SStr_Assign_Trusted_Str(key, key_str, key_len);
- CFISH_Hash_Store(retval, (cfish_Obj*)key, value);
+ CFISH_Hash_Store_Str(retval, key_str, key_len, value);
}
else if (HeKUTF8(entry)) {
- CFISH_SStr_Assign_Trusted_Str(key, HeKEY(entry), key_len);
- CFISH_Hash_Store(retval, (cfish_Obj*)key, value);
+ CFISH_Hash_Store_Str(retval, HeKEY(entry), key_len, value);
}
else {
char *key_str = HeKEY(entry);
@@ -267,14 +264,12 @@ S_perl_hash_to_cfish_hash(HV *phash) {
if ((key_str[i] & 0x80) == 0x80) { pure_ascii = false; }
}
if (pure_ascii) {
- CFISH_SStr_Assign_Trusted_Str(key, key_str, key_len);
- CFISH_Hash_Store(retval, (cfish_Obj*)key, value);
+ CFISH_Hash_Store_Str(retval, key_str, key_len, value);
}
else {
SV *key_sv = HeSVKEY_force(entry);
key_str = SvPVutf8(key_sv, key_len);
- CFISH_SStr_Assign_Trusted_Str(key, key_str, key_len);
- CFISH_Hash_Store(retval, (cfish_Obj*)key, value);
+ CFISH_Hash_Store_Str(retval, key_str, key_len, value);
}
}
}