Skip to content

Commit 5b2c995

Browse files
committed
applit @ndossche suggestion
1 parent cf959ae commit 5b2c995

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

ext/xsl/tests/gh21496.phpt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,17 @@ $doc->documentElement->appendChild($comment);
1616
unset($doc);
1717
$proc = new XSLTProcessor();
1818
var_dump($proc->importStylesheet($comment));
19+
$sxe = simplexml_load_string('<container/>');
20+
$proc = new XSLTProcessor();
21+
$proc->importStylesheet($sxe);
1922
?>
2023
--EXPECTF--
2124
Warning: XSLTProcessor::importStylesheet(): compilation error: file %s line 1 element container in %s on line %d
2225

2326
Warning: XSLTProcessor::importStylesheet(): xsltParseStylesheetProcess : document is not a stylesheet in %s on line %d
2427
bool(false)
28+
29+
Warning: XSLTProcessor::importStylesheet(): compilation error: element container in %s on line %d
30+
31+
Warning: XSLTProcessor::importStylesheet(): xsltParseStylesheetProcess : document is not a stylesheet in %s on line %d
32+

ext/xsl/xsltprocessor.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,11 @@ PHP_METHOD(XSLTProcessor, importStylesheet)
196196
RETURN_THROWS();
197197
}
198198

199-
php_dom_create_object((xmlNodePtr) nodep->doc, &owner_zv, php_dom_obj_from_obj(Z_OBJ_P(docp)));
199+
/* See dom_import_simplexml_common */
200+
201+
dom_object *nodeobj = (dom_object *) ((char *) Z_OBJ_P(docp) - Z_OBJ_HT_P(docp)->offset);
202+
203+
php_dom_create_object((xmlNodePtr) nodep->doc, &owner_zv, nodeobj);
200204
docp = &owner_zv;
201205
}
202206

0 commit comments

Comments
 (0)