|
38 | 38 | echo "ZEND_BEGIN_ARG_INFO_EX(arginfo_{$name}, 0, 0, {$required})\n";
|
39 | 39 | }
|
40 | 40 | foreach($args as $arg) {
|
41 |
| - list($type,$name) = explode(' ', $arg, 2); |
42 |
| - list($name,) = explode('|', $name, 2); // No |'s in the names - choose the first |
| 41 | + list($type, $name) = explode(' ', trim($arg), 2); |
| 42 | + list($name) = explode('|', trim($name), 2); // No |'s in the names - choose the first |
| 43 | + $name = trim($name); |
| 44 | + if ($ref = ($name[0] == "&")) { |
| 45 | + $name = trim(substr($name, 1)); |
| 46 | + } |
| 47 | + list($name, $default) = explode("=", $name, 2); |
| 48 | + $name = trim($name); |
| 49 | + $allow_null = (int) (trim($default) == "null"); |
| 50 | + $ref = (int) $ref; |
43 | 51 | $type=trim($type);
|
44 | 52 | if(!empty($types[$type])) {
|
45 |
| - echo "\tZEND_ARG_TYPE_INFO(0, {$name}, {$types[$type]}, 0)\n"; |
| 53 | + echo "\tZEND_ARG_TYPE_INFO($ref, {$name}, {$types[$type]}, $allow_null)\n"; |
46 | 54 | } else {
|
47 |
| - echo "\tZEND_ARG_INFO(0, {$name})\n"; |
| 55 | + echo "\tZEND_ARG_INFO($ref, {$name})\n"; |
48 | 56 | }
|
49 | 57 | }
|
50 | 58 | echo "ZEND_END_ARG_INFO()\n\n";
|
|
0 commit comments