From: Derick Rethans Date: Thu, 30 Jun 2011 10:25:57 +0000 (+0100) Subject: Implemented TWIG_RETURN_ARRAY_ELEMENT. X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=b918f2ea7ba466d52986b553c9417a295a5f7b8d;p=web%2Fkonrad%2Ftwig.git Implemented TWIG_RETURN_ARRAY_ELEMENT. --- diff --git a/twig.c b/twig.c index a072ca3..f365ab7 100644 --- a/twig.c +++ b/twig.c @@ -154,9 +154,18 @@ int TWIG_ISSET_ARRAY_ELEMENT(zval *array, zval *item) return 0; } -zval *TWIG_RETURN_ARRAY_ELEMENT(zval *object, zval *item) +zval *TWIG_RETURN_ARRAY_ELEMENT(zval *array, zval *key) { + void *dummy; + if (Z_TYPE_P(array) != IS_ARRAY) { + return NULL; + } + convert_to_string(key); + if (zend_hash_find(Z_ARRVAL_P(array), Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &dummy) == SUCCESS) { + return dummy; + } + return NULL; } zval *TWIG_PROPERTY(zval *object, char *propname)