Enable overload for all objects

With newer Perls, overloading is enabled by default. For older versions,
it's also really cheap, so there's no reason to do it selectively.


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/63accb52
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/63accb52
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/63accb52

Branch: refs/heads/master
Commit: 63accb521c50b69c48bee04ced45a466a2541530
Parents: 7104364
Author: Nick Wellnhofer <[email protected]>
Authored: Tue May 12 17:45:36 2015 +0200
Committer: Nick Wellnhofer <[email protected]>
Committed: Mon May 18 21:25:33 2015 +0200

----------------------------------------------------------------------
 runtime/perl/xs/XSBind.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/63accb52/runtime/perl/xs/XSBind.c
----------------------------------------------------------------------
diff --git a/runtime/perl/xs/XSBind.c b/runtime/perl/xs/XSBind.c
index 8261ae8..4e45e13 100644
--- a/runtime/perl/xs/XSBind.c
+++ b/runtime/perl/xs/XSBind.c
@@ -769,7 +769,12 @@ CFISH_Obj_To_Host_IMP(cfish_Obj *self) {
     if (self->ref.count & XSBIND_REFCOUNT_FLAG) {
         S_lazy_init_host_obj(aTHX_ self);
     }
-    return newRV_inc((SV*)self->ref.host_obj);
+    SV *perl_obj = newRV_inc((SV*)self->ref.host_obj);
+#if PERL_VERSION <= 16
+    // Enable overloading.
+    SvAMAGIC_on(perl_obj);
+#endif
+    return perl_obj;
 }
 
 /*************************** Clownfish::Class ******************************/

Reply via email to