diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2015-02-10 15:43:12 +0300 | 
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2015-02-10 15:43:12 +0300 | 
| commit | 1eb4352143e42784a59b55e0e531a8faecc0033d (patch) | |
| tree | 404ae11471af991680685889d292ca120aa76095 /ext/sockets/conversions.c | |
| parent | 4a875e18fdebfe3af530a6c4367d893c1cb811ae (diff) | |
| download | php-git-1eb4352143e42784a59b55e0e531a8faecc0033d.tar.gz | |
Use new ZEND_HASH_FOREACH_... API.
Diffstat (limited to 'ext/sockets/conversions.c')
| -rw-r--r-- | ext/sockets/conversions.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/sockets/conversions.c b/ext/sockets/conversions.c index 963db66818..f6a86315b1 100644 --- a/ext/sockets/conversions.c +++ b/ext/sockets/conversions.c @@ -217,17 +217,14 @@ static unsigned from_array_iterate(const zval *arr,  								   void **args,  								   ser_context *ctx)  { -	HashPosition	pos;  	unsigned		i;  	zval			*elem;  	char			buf[sizeof("element #4294967295")];  	char			*bufp = buf;  	/* Note i starts at 1, not 0! */ -    for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(arr), &pos), i = 1; -			!ctx->err.has_error -			&& (elem = zend_hash_get_current_data_ex(Z_ARRVAL_P(arr), &pos)) != NULL; -			zend_hash_move_forward_ex(Z_ARRVAL_P(arr), &pos), i++) { +	i = 1; +	ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(arr), elem) {  		if (snprintf(buf, sizeof(buf), "element #%u", i) >= sizeof(buf)) {  			memcpy(buf, "element", sizeof("element"));  		} @@ -236,7 +233,11 @@ static unsigned from_array_iterate(const zval *arr,  		func(elem, i, args, ctx);  		zend_llist_remove_tail(&ctx->keys); -    } +		if (ctx->err.has_error) { +			break; +		} +		i++; +    } ZEND_HASH_FOREACH_END();      return i -1;  }  | 
