zval_copy_ctor
| From: | Wez Furlong | Date: | Sat, 12 May 2001 01:42:45 +0000 |
| Subject: | zval_copy_ctor | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-54975@lists.php.net to get a copy of this message | ||
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" => "wez@php.net",
"from" => php-dev@lists.php.net"
)
);
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.