Re: Extensions: parameters as references

From: Date: Fri, 17 Jun 2005 22:49:32 +0000
Subject: Re: Extensions: parameters as references
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-217160@lists.php.net to get a copy of this message
Is there any list (or forum) that can help me with this? Thanks, Yasir On Fri, 17 Jun 2005, Yasir Malik wrote:
Date: Fri, 17 Jun 2005 11:51:24 -0400 (EDT) From: Yasir Malik <ymalik@cs.stevens.edu> To: php-general@lists.php.net Subject: [PHP] Extensions: parameters as references I am creating a PHP extension. In my function, I want the parameter to be a reference. The extension function works fine only if the variable passed is initialized. For example, here is the extension function: ZEND_FUNCTION(first_module) { zval *parameter; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                            "z", &parameter) == FAILURE)
      return;
ZVAL_LONG(parameter, 78); } When I call this as <?php dl("test.so"); $a = 4; first_module($a); print "$a\n"; ?> it works fine, but when I call it as: <?php dl("test.so"); first_module($a); print "$a\n"; ?> nothing is outputted. I looked at the source code for various extensions, and I noticed that they called the deconstructor zval_dtor(). I tried this, but it still did not work: ZEND_FUNCTION(first_module) { zval *parameter; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                            "z", &parameter) == FAILURE)
      return;
zval_dtor(parameter); ZVAL_LONG(parameter, 78); } Thanks, Yasir -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.general (#217160) next »