|
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;
}
|