Sorry,
default=segfault....
spellcheck got me
-Jason
----- Original Message -----
From: "Jason Greene" <[EMAIL PROTECTED]>
To: "Wez Furlong" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Friday, May 11, 2001 10:29 PM
Subject: Re: [PHP-DEV] zval_copy_ctor
> zval_copy_ctor used on an array makes a reference copy of the array.
> Basically, it just copies all the data items in the hashtable and then adds one to
>the
> reference count for all data items.
>
> Looking at the code, it appears to not recursively copy into nested arrays.
> (Could be part of your problem)
> Since this is a reference copy, you can not free the memory used by
> the array you are copying. I am assuming that this is the cause of your default.
>
> -Jason
>
>
>
> ----- Original Message -----
> From: "Wez Furlong" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, May 11, 2001 8:42 PM
> Subject: [PHP-DEV] zval_copy_ctor
>
>
> > Hi,
> >
> > In my mailparse extension I am building up an array to contain the headers
> > while parsing the message. The array is held in a zval in the internal C
> > structure, one for each message part.
> >
> > When the "user space" code requests info for a particular message part it
> > is returned as an assoc. array. One of the keys contains the headers;
> >
> > eg:
> >
> > $info => array(
> > "content-type" => "text/plain",
> > "headers" => array(
> > "to" => "[EMAIL PROTECTED]",
> > "from" => [EMAIL PROTECTED]"
> > )
> > );
> >
> > So far, to do this I am using this code:
> >
> > zval * headers;
> >
> > MAKE_STD_ZVAL(headers);
> > *headers = *rfcbuf->headers;
> > if (zval_copy_ctor(headers) == SUCCESS) {
> > zend_hash_update(HASH_OF(return_value), "headers",
> > strlen("headers") + 1, &headers, sizeof(headers)
> > NULL);
> > }
> >
> > where rfcbuf->headers is a "zval *" created using MAKE_STD_ZVAL and
> > array_init.
> >
> > It seems to work OK.
> >
> > Is it correct? The ZendAPI docs aren't 100% clear about using the copy
> > constructor, and I am experiencing intermittent segfaults in a specific
> > part of my "application" that uses this code.
> >
> > --Wez.
> >
> >
> >
> > --
> > PHP Development Mailing List <http://www.php.net/>
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > To contact the list administrators, e-mail: [EMAIL PROTECTED]
> >
>
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]