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 2011/06/21 00:57:30 UTC

[lucy-commits] svn commit: r1137814 - /incubator/lucy/trunk/clownfish/lib/Clownfish.xs

Author: marvin
Date: Mon Jun 20 22:57:29 2011
New Revision: 1137814

URL: http://svn.apache.org/viewvc?rev=1137814&view=rev
Log:
Minor internal refactoring into a static function.

Modified:
    incubator/lucy/trunk/clownfish/lib/Clownfish.xs

Modified: incubator/lucy/trunk/clownfish/lib/Clownfish.xs
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/clownfish/lib/Clownfish.xs?rev=1137814&r1=1137813&r2=1137814&view=diff
==============================================================================
--- incubator/lucy/trunk/clownfish/lib/Clownfish.xs (original)
+++ incubator/lucy/trunk/clownfish/lib/Clownfish.xs Mon Jun 20 22:57:29 2011
@@ -73,6 +73,18 @@ S_array_of_cfcbase_to_av(CFCBase **thing
     return retval;
 }
 
+static SV*
+S_sv_eat_c_string(char *string) {
+    if (string) {
+        SV *sv = newSVpvn(string, strlen(string));
+        FREEMEM(string);
+        return sv;
+    }
+    else {
+        return newSV(0);
+    }
+}
+
 MODULE = Clownfish    PACKAGE = Clownfish::CBlock
 
 SV*
@@ -1673,11 +1685,7 @@ func_declaration(unused, func)
     SV *unused;
     CFCFunction *func;
 CODE:
-{
-    char *declaration = CFCBindFunc_func_declaration(func);
-    RETVAL = newSVpvn(declaration, strlen(declaration));
-    FREEMEM(declaration);
-}
+    RETVAL = S_sv_eat_c_string(CFCBindFunc_func_declaration(func));
 OUTPUT: RETVAL
 
 MODULE = Clownfish   PACKAGE = Clownfish::Binding::Core::Method
@@ -1687,10 +1695,6 @@ typedef_dec(unused, meth)
     SV *unused;
     CFCMethod *meth;
 CODE:
-{
-    char *declaration = CFCBindMeth_typdef_dec(meth);
-    RETVAL = newSVpvn(declaration, strlen(declaration));
-    FREEMEM(declaration);
-}
+    RETVAL = S_sv_eat_c_string(CFCBindMeth_typdef_dec(meth));
 OUTPUT: RETVAL