
marvin at rectangular
Jul 15, 2008, 5:27 PM
Post #1 of 1
(155 views)
Permalink
|
Author: creamyg Date: 2008-07-15 17:27:18 -0700 (Tue, 15 Jul 2008) New Revision: 3598 Modified: trunk/perl/xs/XSBind.c Log: Add ZombieCharBuf to qualifying classes for sv_to_obj_or_zcb. Minor refactoring of sv_to_class_name. Modified: trunk/perl/xs/XSBind.c =================================================================== --- trunk/perl/xs/XSBind.c 2008-07-16 00:23:36 UTC (rev 3597) +++ trunk/perl/xs/XSBind.c 2008-07-16 00:27:18 UTC (rev 3598) @@ -46,7 +46,8 @@ IV tmp = SvIV( SvRV(sv) ); retval = INT2PTR(kino_Obj*, tmp); } - else if ( vtable == (kino_VirtualTable*)&KINO_VIEWCHARBUF + else if ( vtable == (kino_VirtualTable*)&KINO_ZOMBIECHARBUF + || vtable == (kino_VirtualTable*)&KINO_VIEWCHARBUF || vtable == (kino_VirtualTable*)&KINO_CHARBUF || vtable == (kino_VirtualTable*)&KINO_OBJ ) { @@ -75,20 +76,15 @@ kino_ZombieCharBuf kino_XSBind_sv_to_class_name(SV* either_sv) { - char *name; - STRLEN len; - kino_ZombieCharBuf retval = KINO_ZCB_BLANK; - if (sv_isobject(either_sv)) { - name = HvNAME(SvSTASH(SvRV(either_sv))); - len = strlen(name); + char *name = HvNAME(SvSTASH(SvRV(either_sv))); + return kino_ZCB_make_str(name, strlen(name)); } else { - name = SvPVutf8(either_sv, len); + STRLEN len; + char *name = SvPVutf8(either_sv, len); + return kino_ZCB_make_str(name, len); } - Kino_ZCB_Assign_Str(&retval, name, len); - - return retval; } SV* _______________________________________________ kinosearch-commits mailing list kinosearch-commits [at] rectangular http://www.rectangular.com/mailman/listinfo/kinosearch-commits
|