Skip to content

Commit 01f1c60

Browse files
committed
Cleanup xpath.c by merging some declarations and assignments
1 parent 85217a0 commit 01f1c60

File tree

1 file changed

+17
-28
lines changed

1 file changed

+17
-28
lines changed

ext/dom/xpath.c

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -116,26 +116,24 @@ static void dom_xpath_ext_function_trampoline(xmlXPathParserContextPtr ctxt, int
116116
PHP_METHOD(DOMXPath, __construct)
117117
{
118118
zval *doc;
119-
bool register_node_ns = 1;
119+
bool register_node_ns = true;
120120
xmlDocPtr docp = NULL;
121121
dom_object *docobj;
122-
dom_xpath_object *intern;
123-
xmlXPathContextPtr ctx, oldctx;
124122

125123
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|b", &doc, dom_abstract_base_document_class_entry, &register_node_ns) == FAILURE) {
126124
RETURN_THROWS();
127125
}
128126

129127
DOM_GET_OBJ(docp, doc, xmlDocPtr, docobj);
130128

131-
ctx = xmlXPathNewContext(docp);
129+
xmlXPathContextPtr ctx = xmlXPathNewContext(docp);
132130
if (ctx == NULL) {
133131
php_dom_throw_error(INVALID_STATE_ERR, 1);
134132
RETURN_THROWS();
135133
}
136134

137-
intern = Z_XPATHOBJ_P(ZEND_THIS);
138-
oldctx = (xmlXPathContextPtr)intern->dom.ptr;
135+
dom_xpath_object *intern = Z_XPATHOBJ_P(ZEND_THIS);
136+
xmlXPathContextPtr oldctx = intern->dom.ptr;
139137
if (oldctx != NULL) {
140138
php_libxml_decrement_doc_ref((php_libxml_node_object *) &intern->dom);
141139
xmlXPathFreeContext(oldctx);
@@ -194,20 +192,16 @@ zend_result dom_xpath_register_node_ns_write(dom_object *obj, zval *newval)
194192
/* {{{ */
195193
PHP_METHOD(DOMXPath, registerNamespace)
196194
{
197-
zval *id;
198-
xmlXPathContextPtr ctxp;
199195
size_t prefix_len, ns_uri_len;
200-
dom_xpath_object *intern;
201196
unsigned char *prefix, *ns_uri;
202197

203-
id = ZEND_THIS;
204198
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", &prefix, &prefix_len, &ns_uri, &ns_uri_len) == FAILURE) {
205199
RETURN_THROWS();
206200
}
207201

208-
intern = Z_XPATHOBJ_P(id);
202+
dom_xpath_object *intern = Z_XPATHOBJ_P(ZEND_THIS);
209203

210-
ctxp = (xmlXPathContextPtr) intern->dom.ptr;
204+
xmlXPathContextPtr ctxp = intern->dom.ptr;
211205
if (ctxp == NULL) {
212206
zend_throw_error(NULL, "Invalid XPath Context");
213207
RETURN_THROWS();
@@ -231,33 +225,27 @@ static void dom_xpath_iter(zval *baseobj, dom_object *intern) /* {{{ */
231225

232226
static void php_xpath_eval(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */
233227
{
234-
zval *id, retval, *context = NULL;
235-
xmlXPathContextPtr ctxp;
228+
zval *context = NULL;
236229
xmlNodePtr nodep = NULL;
237-
xmlXPathObjectPtr xpathobjp;
238230
size_t expr_len, nsnbr = 0, xpath_type;
239-
dom_xpath_object *intern;
240231
dom_object *nodeobj;
241232
char *expr;
242-
xmlDoc *docp = NULL;
243233
xmlNsPtr *ns = NULL;
244-
bool register_node_ns;
245234

246-
id = ZEND_THIS;
247-
intern = Z_XPATHOBJ_P(id);
248-
register_node_ns = intern->register_node_ns;
235+
dom_xpath_object *intern = Z_XPATHOBJ_P(ZEND_THIS);
236+
bool register_node_ns = intern->register_node_ns;
249237

250238
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|O!b", &expr, &expr_len, &context, dom_node_class_entry, &register_node_ns) == FAILURE) {
251239
RETURN_THROWS();
252240
}
253241

254-
ctxp = (xmlXPathContextPtr) intern->dom.ptr;
242+
xmlXPathContextPtr ctxp = intern->dom.ptr;
255243
if (ctxp == NULL) {
256244
zend_throw_error(NULL, "Invalid XPath Context");
257245
RETURN_THROWS();
258246
}
259247

260-
docp = (xmlDocPtr) ctxp->doc;
248+
xmlDocPtr docp = ctxp->doc;
261249
if (docp == NULL) {
262250
php_error_docref(NULL, E_WARNING, "Invalid XPath Document Pointer");
263251
RETURN_FALSE;
@@ -283,15 +271,16 @@ static void php_xpath_eval(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */
283271
ns = xmlGetNsList(docp, nodep);
284272

285273
if (ns != NULL) {
286-
while (ns[nsnbr] != NULL)
287-
nsnbr++;
274+
while (ns[nsnbr] != NULL) {
275+
nsnbr++;
276+
}
288277
}
289278
}
290279

291280
ctxp->namespaces = ns;
292281
ctxp->nsNr = nsnbr;
293282

294-
xpathobjp = xmlXPathEvalExpression((xmlChar *) expr, ctxp);
283+
xmlXPathObjectPtr xpathobjp = xmlXPathEvalExpression((xmlChar *) expr, ctxp);
295284
ctxp->node = NULL;
296285

297286
if (ns != NULL) {
@@ -315,13 +304,13 @@ static void php_xpath_eval(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */
315304

316305
case XPATH_NODESET:
317306
{
318-
int i;
319307
xmlNodeSetPtr nodesetp;
308+
zval retval;
320309

321310
if (xpathobjp->type == XPATH_NODESET && NULL != (nodesetp = xpathobjp->nodesetval) && nodesetp->nodeNr) {
322311
array_init_size(&retval, nodesetp->nodeNr);
323312
zend_hash_real_init_packed(Z_ARRVAL_P(&retval));
324-
for (i = 0; i < nodesetp->nodeNr; i++) {
313+
for (int i = 0; i < nodesetp->nodeNr; i++) {
325314
xmlNodePtr node = nodesetp->nodeTab[i];
326315
zval child;
327316

0 commit comments

Comments
 (0)