As far as I see FREE_ZVAL is ZEND_FAST_FREE and the latter is not freeing memory just 
removes the zval from a list. So it is
required to release the memory before that. Fix me if I'm wrong.

Regards,
Andrey

----- Original Message -----
From: "Klaus Reimer" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, March 12, 2002 2:42 PM
Subject: [PHP-DEV] FREE_ZVAL and/or zval_dtor()


> Hi,
>
> I'm not sure if I have understood how to free the memory allocatedof a zval
> correctly. Because I don't want to create memory leaks, please tell me if I
> am right or tell me how it is done correctly:
>
> If I create a zval with MAKE_STD_ZVAL, I just need to call FREE_ZVAL, because
> there is no value associated with that zval up to now. But if I store a
> string or an object or something like that in this zval I also need to use
> zval_dtor() before I destroy the zval itself with FREE_ZVAL, right? Example:
>
>    zval *foo;
>   MAKE_STD_ZVAL(foo); /* Allocate zval */
>   ZVAL_STRING(foo,'"Some text",1); /* Store a string in zval */
>
>   /* Do something */
>
>   zval_dtor(foo); /* Free the string */
>   FREE_ZVAL(foo); /* Free the zval */
>
>
> Is that correct?
>
> Another question: How do I free the return_value from a
> call_user_function_ex() call? The Zend-API-Documentation says, I have to use
> zval_dtor, but is this enough? This just frees the memory allocated by the
> zval-value, or not? What about the zval itself?
>
> --
> Bye, K <http://www.ailis.de/~k/>
> [A735 47EC D87B 1F15 C1E9  53D3 AA03 6173 A723 E391]
> (Finger [EMAIL PROTECTED] to get public key)
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to