From: Ilya M. <m_...@us...> - 2003-03-23 18:22:39
|
Update of /cvsroot/perl-xml/XML-LibXML-XPathContext In directory sc8-pr-cvs1:/tmp/cvs-serv15276 Modified Files: XPathContext.xs Log Message: Minor cleanup in LibXML_perldata_to_LibXMLdata (get rid of goto FINISH) Index: XPathContext.xs =================================================================== RCS file: /cvsroot/perl-xml/XML-LibXML-XPathContext/XPathContext.xs,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- XPathContext.xs 23 Mar 2003 18:19:29 -0000 1.17 +++ XPathContext.xs 23 Mar 2003 18:22:36 -0000 1.18 @@ -116,11 +116,8 @@ xmlXPathObjectPtr LibXML_perldata_to_LibXMLdata(xmlXPathParserContextPtr ctxt, SV* perl_result) { - xmlXPathObjectPtr ret; - if (!SvOK(perl_result)) { - ret = (xmlXPathObjectPtr)xmlXPathNewCString(""); - goto FINISH; + return (xmlXPathObjectPtr)xmlXPathNewCString(""); } if (SvROK(perl_result) && SvTYPE(SvRV(perl_result)) == SVt_PVAV) { @@ -129,6 +126,7 @@ int length; SV ** pnode; AV * array_result; + xmlXPathObjectPtr ret; /* warn("result is a node list\n"); */ ret = (xmlXPathObjectPtr) xmlXPathNewNodeSet((xmlNodePtr) NULL); @@ -148,12 +146,13 @@ warn("XPathContext: ignoring non-node member of a nodelist"); } } - goto FINISH; + return ret; } else if (sv_isobject(perl_result) && (SvTYPE(SvRV(perl_result)) == SVt_PVMG)) { if (sv_derived_from(perl_result, "XML::LibXML::Node")) { xmlNodePtr tmp_node; + xmlXPathObjectPtr ret; /* warn("result is a node\n"); */ ret = (xmlXPathObjectPtr)xmlXPathNewNodeSet(NULL); @@ -163,15 +162,15 @@ LibXML_XPathContext_pool(ctxt->context, (int) PmmSvNode(perl_result), perl_result); } - goto FINISH; + + return ret; } else if (sv_isa(perl_result, "XML::LibXML::Boolean")) { int tmp_int; /* warn("result is a boolean\n"); */ tmp_int = SvIV(SvRV(perl_result)); - ret = (xmlXPathObjectPtr)xmlXPathNewBoolean(tmp_int); - goto FINISH; + return (xmlXPathObjectPtr)xmlXPathNewBoolean(tmp_int); } else if (sv_isa(perl_result, "XML::LibXML::Literal")) { char * tmp_string; @@ -179,29 +178,23 @@ /* warn("result is a literal\n"); */ tmp_string = SvPV(SvRV(perl_result), n_a); - ret = (xmlXPathObjectPtr)xmlXPathNewCString(tmp_string); - goto FINISH; + return (xmlXPathObjectPtr)xmlXPathNewCString(tmp_string); } else if (sv_isa(perl_result, "XML::LibXML::Number")) { double tmp_double; /* warn("result is a number\n"); */ tmp_double = SvNV(SvRV(perl_result)); - ret = (xmlXPathObjectPtr)xmlXPathNewFloat(tmp_double); - goto FINISH; + return (xmlXPathObjectPtr)xmlXPathNewFloat(tmp_double); } } else if (SvNOK(perl_result) || SvIOK(perl_result)) { /* warn("result is an unblessed number\n"); */ - ret = (xmlXPathObjectPtr)xmlXPathNewFloat(SvNV(perl_result)); + return (xmlXPathObjectPtr)xmlXPathNewFloat(SvNV(perl_result)); } else { /* warn("result is an unblessed string\n"); */ STRLEN n_a; - ret = (xmlXPathObjectPtr)xmlXPathNewCString(SvPV(perl_result, n_a)); + return (xmlXPathObjectPtr)xmlXPathNewCString(SvPV(perl_result, n_a)); } - - - FINISH: - return ret; } |