fault_code = Z_STRVAL_P(code);
fault_code_len = Z_STRLEN_P(code);
} else if (Z_TYPE_P(code) == IS_ARRAY && zend_hash_num_elements(Z_ARRVAL_P(code)) == 2) {
- zval *t_ns, *t_code;
-
- zend_hash_internal_pointer_reset(Z_ARRVAL_P(code));
- t_ns = zend_hash_get_current_data(Z_ARRVAL_P(code));
- zend_hash_move_forward(Z_ARRVAL_P(code));
- t_code = zend_hash_get_current_data(Z_ARRVAL_P(code));
- if (Z_TYPE_P(t_ns) == IS_STRING && Z_TYPE_P(t_code) == IS_STRING) {
- fault_code_ns = Z_STRVAL_P(t_ns);
- fault_code = Z_STRVAL_P(t_code);
- fault_code_len = Z_STRLEN_P(t_code);
+ zval *t_ns = zend_hash_index_find(Z_ARRVAL_P(code), 0);
+ zval *t_code = zend_hash_index_find(Z_ARRVAL_P(code), 1);
+ if (t_ns && t_code && Z_TYPE_P(t_ns) == IS_STRING && Z_TYPE_P(t_code) == IS_STRING) {
+ fault_code_ns = Z_STRVAL_P(t_ns);
+ fault_code = Z_STRVAL_P(t_code);
+ fault_code_len = Z_STRLEN_P(t_code);
} else {
php_error_docref(NULL, E_WARNING, "Invalid fault code");
return;