Electronics & Programming

develissimo

Open Source electronics development and programming

  • You are not logged in.
  • Root
  • » PHP
  • » [PHP-DEV] Re: Question on return_value [RSS Feed]

#1 Nov. 1, 2005 09:26:17

Michael W.
Registered: 2009-11-02
Reputation: +  0  -
Profile   Send e-mail  

[PHP-DEV] Re: Question on return_value


Bob Silva wrote:Hi,

I have an internal function defined that returns an array zval:
zval *pow_zstring_internal_split(Z_STRVAL_P(ivalue), separator, count, 0
TSRMLS_DC);When I call it like this, return_value is NULL in userland.

return_value = pow_zstring_internal_split(Z_STRVAL_P(ivalue), separator,
count, 0 TSRMLS_CC);The outta world doesn't care if you let return_value point else where in
your function. Look up the chapter pointers in your book. Short version:
You need a pointer to a pointer so that the caller gets another pointer.But when I call it like this, it works as expected and an array is returned
to userland

array = pow_zstring_internal_split(Z_STRVAL_P(ivalue), separator, count, 0
TSRMLS_CC);

*return_value = *array;Yes, because you change the members of the struct the pointer points at and
the pointer is still the same of that of the "outta world".I'm sure there is an obvious answer, but given my background (or lack
thereof) in C, I can't figure it out.

How does the temporary assignment change things inside the engine?Hä? :)

Regards,
--
Michael - <mike(@)php.net>http://dev.iworks.at/ext-http/http-functions.html.gz--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit:http://www.php.net/unsub.php

Offline

  • Root
  • » PHP
  • » [PHP-DEV] Re: Question on return_value [RSS Feed]

Board footer

Moderator control

Enjoy the 18th of November
PoweredBy

The Forums are managed by develissimo stuff members, if you find any issues or misplaced content please help us to fix it. Thank you! Tell us via Contact Options
Leave a Message
Welcome to Develissimo Live Support