Annotation of embedaddon/php/ext/xmlrpc/tests/bug47818.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #47818 (Segfault due to bound callback param)
3: --SKIPIF--
4: <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
5: --FILE--
6: <?php
7:
8: class MyXmlRpc {
9: private $s;
10: private $method;
11:
12: function impl($method_name, $params, $user_data){
13: $this->method = $method_name;
14: print "Inside impl(): {$this->method}\n";
15: return array_sum($params);
16: }
17:
18: function __construct() {
19: $this->s = xmlrpc_server_create();
20: xmlrpc_server_register_method($this->s, 'add', array($this, 'impl'));
21: }
22:
23: function call($req) {
24: return xmlrpc_server_call_method($this->s, $req, null);
25: }
26:
27: function getMethod() {return $this->method;}
28:
29: }
30:
31: $x = new MyXmlRpc;
32: $resp = $x->call(xmlrpc_encode_request('add', array(1, 2, 3)));
33:
34: $method = $x->getMethod();
35:
36: print "Global scope: $method\n";
37:
38: ?>
39: --EXPECTF--
40: Inside impl(): add
41: Global scope: add
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>