diff --git a/src/bindings/php/Tests/EndTest.php b/src/bindings/php/Tests/EndTest.php index 92e4965..0b7ef42 100644 --- a/src/bindings/php/Tests/EndTest.php +++ b/src/bindings/php/Tests/EndTest.php @@ -12,12 +12,14 @@ class EndPTest extends PHPUnit_Framework_TestCase public function testSuccess() { - $result = h_parse($this->parser, "a"); + $result = h_parse($this->parser, ["a"]); + var_dump($result); $this->assertEquals("a", $result); } public function testFailure() { $result = h_parse($this->parser, "aa"); + var_dump($result); $this->assertEquals(NULL, $result); } } diff --git a/src/bindings/swig/hammer.i b/src/bindings/swig/hammer.i index eb6428a..5311873 100644 --- a/src/bindings/swig/hammer.i +++ b/src/bindings/swig/hammer.i @@ -171,18 +171,22 @@ int size = zend_hash_num_elements(arr); int i = 0; int res = 0; - $1 = (void**)malloc((size+1)*sizeof(HParser*)); - for (zend_hash_internal_pointer_reset_ex(arr, &pointer); - zend_hash_get_current_data_ex(arr, (void**)&data, &pointer); - zend_hash_move_forward_ex(arr, &pointer), i++) { - res = SWIG_ConvertPtr(*data, &($1[i]), SWIGTYPE_p_HParser_, 0 | 0); - if (!SWIG_IsOk(res)) { - // TODO do we not *have* SWIG_TypeError? - SWIG_exception_fail(res, "that wasn't an HParser"); + $1 = (void**)malloc((size)*sizeof(HParser*)); + for (i=0; i