On Sep 27, 2004, at 12:14 PM, Andrei Zmievski wrote:
> On Sun, 26 Sep 2004, Robert Silva wrote:
>> Trying to register a constant value for a class and it keeps crashing.
>> Learning C as I go, so I would appreciate some insight. I can figure
>> out
>> that my *property value is lost during zend_hash_add() but my
>> knowledge
>> stops there as to why. Tried passing property as property and
>> &property.
>>
>> ZEND_METHOD(zboolean, __construct)
>> {
>> zval *object = getThis();
>> zval *property
>>
>> ALLOC_ZVAL(property);
>> INIT_PZVAL(property);
>> ZVAL_STRING(property, "true", 1);
>> zend_hash_add(&(Z_OBJCE_P(object))->constants_table, "TrueString",
>> sizeof("TrueString")+1, property, sizeof(zval *));
>> }
>
> zend_hash_add(&(Z_OBJECE_P(object))->constants_table, "TrueString",
> sizeof("TrueString"), &property, sizeof(zval *), NULL);
The key being that sizeof("Foo") == strlen("Foo") + 1
George