Lines Matching refs:handler

59 static inline php_output_handler_status_t php_output_handler_op(php_output_handler *handler, php_ou…
60 static inline int php_output_handler_append(php_output_handler *handler, const php_output_buffer *b…
61 static inline zval *php_output_handler_status(php_output_handler *handler, zval *entry);
173 php_output_handler **handler = NULL; in php_output_deactivate() local
184 while (SUCCESS == zend_stack_top(&OG(handlers), (void *) &handler)) { in php_output_deactivate()
185 php_output_handler_free(handler TSRMLS_CC); in php_output_deactivate()
423 php_output_handler *handler; in php_output_start_default() local
425handler = php_output_handler_create_internal(ZEND_STRL(php_output_default_handler_name), php_outpu… in php_output_start_default()
426 if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { in php_output_start_default()
429 php_output_handler_free(&handler TSRMLS_CC); in php_output_start_default()
438 php_output_handler *handler; in php_output_start_devnull() local
440handler = php_output_handler_create_internal(ZEND_STRL(php_output_devnull_handler_name), php_outpu… in php_output_start_devnull()
441 if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { in php_output_start_devnull()
444 php_output_handler_free(&handler TSRMLS_CC); in php_output_start_devnull()
453 php_output_handler *handler; in php_output_start_user() local
456 handler = php_output_handler_create_user(output_handler, chunk_size, flags TSRMLS_CC); in php_output_start_user()
458handler = php_output_handler_create_internal(ZEND_STRL(php_output_default_handler_name), php_outpu… in php_output_start_user()
460 if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { in php_output_start_user()
463 php_output_handler_free(&handler TSRMLS_CC); in php_output_start_user()
472 php_output_handler *handler; in php_output_start_internal() local
474handler = php_output_handler_create_internal(name, name_len, php_output_handler_compat_func, chunk… in php_output_start_internal()
475 php_output_handler_set_context(handler, output_handler, NULL TSRMLS_CC); in php_output_start_internal()
476 if (SUCCESS == php_output_handler_start(handler TSRMLS_CC)) { in php_output_start_internal()
479 php_output_handler_free(&handler TSRMLS_CC); in php_output_start_internal()
489 php_output_handler *handler = NULL; in php_output_handler_create_user() local
495handler = php_output_handler_create_internal(ZEND_STRL(php_output_default_handler_name), php_outpu… in php_output_handler_create_user()
499handler = (*alias)(Z_STRVAL_P(output_handler), Z_STRLEN_P(output_handler), chunk_size, flags TSRML… in php_output_handler_create_user()
505handler = php_output_handler_init(handler_name, strlen(handler_name), chunk_size, (flags & ~0xf) |… in php_output_handler_create_user()
508 handler->func.user = user; in php_output_handler_create_user()
521 return handler; in php_output_handler_create_user()
529 php_output_handler *handler; in php_output_handler_create_internal() local
531handler = php_output_handler_init(name, name_len, chunk_size, (flags & ~0xf) | PHP_OUTPUT_HANDLER_… in php_output_handler_create_internal()
532 handler->func.internal = output_handler; in php_output_handler_create_internal()
534 return handler; in php_output_handler_create_internal()
540 PHPAPI void php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(vo… in php_output_handler_set_context() argument
542 if (handler->dtor && handler->opaq) { in php_output_handler_set_context()
543 handler->dtor(handler->opaq TSRMLS_CC); in php_output_handler_set_context()
545 handler->dtor = dtor; in php_output_handler_set_context()
546 handler->opaq = opaq; in php_output_handler_set_context()
552 PHPAPI int php_output_handler_start(php_output_handler *handler TSRMLS_DC) in php_output_handler_start()
558 if (php_output_lock_error(PHP_OUTPUT_HANDLER_START TSRMLS_CC) || !handler) { in php_output_handler_start()
561 …if (SUCCESS == zend_hash_find(&php_output_handler_conflicts, handler->name, handler->name_len+1, (… in php_output_handler_start()
562 if (SUCCESS != (*conflict)(handler->name, handler->name_len TSRMLS_CC)) { in php_output_handler_start()
566 …if (SUCCESS == zend_hash_find(&php_output_handler_reverse_conflicts, handler->name, handler->name_… in php_output_handler_start()
571 if (SUCCESS != (*conflict)(handler->name, handler->name_len TSRMLS_CC)) { in php_output_handler_start()
577 …if (FAILURE == (handler->level = zend_stack_push(&OG(handlers), &handler, sizeof(php_output_handle… in php_output_handler_start()
580 OG(active) = handler; in php_output_handler_start()
716 PHPAPI void php_output_handler_dtor(php_output_handler *handler TSRMLS_DC) in php_output_handler_dtor()
718 STR_FREE(handler->name); in php_output_handler_dtor()
719 STR_FREE(handler->buffer.data); in php_output_handler_dtor()
720 if (handler->flags & PHP_OUTPUT_HANDLER_USER) { in php_output_handler_dtor()
721 zval_ptr_dtor(&handler->func.user->zoh); in php_output_handler_dtor()
722 efree(handler->func.user); in php_output_handler_dtor()
724 if (handler->dtor && handler->opaq) { in php_output_handler_dtor()
725 handler->dtor(handler->opaq TSRMLS_CC); in php_output_handler_dtor()
727 memset(handler, 0, sizeof(*handler)); in php_output_handler_dtor()
879 php_output_handler *handler; in php_output_handler_init() local
881 handler = ecalloc(1, sizeof(php_output_handler)); in php_output_handler_init()
882 handler->name = estrndup(name, name_len); in php_output_handler_init()
883 handler->name_len = name_len; in php_output_handler_init()
884 handler->size = chunk_size; in php_output_handler_init()
885 handler->flags = flags; in php_output_handler_init()
886 handler->buffer.size = PHP_OUTPUT_HANDLER_INITBUF_SIZE(chunk_size); in php_output_handler_init()
887 handler->buffer.data = emalloc(handler->buffer.size); in php_output_handler_init()
889 return handler; in php_output_handler_init()
895 static inline int php_output_handler_append(php_output_handler *handler, const php_output_buffer *b… in php_output_handler_append() argument
900 if ((handler->buffer.size - handler->buffer.used) <= buf->used) { in php_output_handler_append()
901 size_t grow_int = PHP_OUTPUT_HANDLER_INITBUF_SIZE(handler->size); in php_output_handler_append()
902 …size_t grow_buf = PHP_OUTPUT_HANDLER_INITBUF_SIZE(buf->used - (handler->buffer.size - handler->buf… in php_output_handler_append()
905 handler->buffer.data = erealloc(handler->buffer.data, handler->buffer.size + grow_max); in php_output_handler_append()
906 handler->buffer.size += grow_max; in php_output_handler_append()
908 memcpy(handler->buffer.data + handler->buffer.used, buf->data, buf->used); in php_output_handler_append()
909 handler->buffer.used += buf->used; in php_output_handler_append()
912 if (handler->size && (handler->buffer.used >= handler->size)) { in php_output_handler_append()
923 static inline php_output_handler_status_t php_output_handler_op(php_output_handler *handler, php_ou… in php_output_handler_op() argument
940 handler, in php_output_handler_op()
941 handler->name, in php_output_handler_op()
942 handler->flags, in php_output_handler_op()
943 handler->buffer.used?handler->buffer.data:"", in php_output_handler_op()
944 handler->buffer.used, in php_output_handler_op()
945 handler->buffer.size, in php_output_handler_op()
957 if (php_output_handler_append(handler, &context->in TSRMLS_CC) && !context->op) { in php_output_handler_op()
962 if (!(handler->flags & PHP_OUTPUT_HANDLER_STARTED)) { in php_output_handler_op()
966 OG(running) = handler; in php_output_handler_op()
967 if (handler->flags & PHP_OUTPUT_HANDLER_USER) { in php_output_handler_op()
971 ZVAL_STRINGL(ob_data, handler->buffer.data, handler->buffer.used, 1); in php_output_handler_op()
974 zend_fcall_info_argn(&handler->func.user->fci TSRMLS_CC, 2, &ob_data, &ob_mode); in php_output_handler_op()
977 …if (SUCCESS == zend_fcall_info_call(&handler->func.user->fci, &handler->func.user->fcc, &retval, N… in php_output_handler_op()
994 zend_fcall_info_argn(&handler->func.user->fci TSRMLS_CC, 0); in php_output_handler_op()
1003 …php_output_context_feed(context, handler->buffer.data, handler->buffer.size, handler->buffer.used,… in php_output_handler_op()
1005 if (SUCCESS == handler->func.internal(&handler->opaq, context)) { in php_output_handler_op()
1015 handler->flags |= PHP_OUTPUT_HANDLER_STARTED; in php_output_handler_op()
1022 handler->flags |= PHP_OUTPUT_HANDLER_DISABLED; in php_output_handler_op()
1028 context->out.data = handler->buffer.data; in php_output_handler_op()
1029 context->out.used = handler->buffer.used; in php_output_handler_op()
1031 handler->buffer.data = NULL; in php_output_handler_op()
1032 handler->buffer.used = 0; in php_output_handler_op()
1033 handler->buffer.size = 0; in php_output_handler_op()
1041 handler->buffer.used = 0; in php_output_handler_op()
1042 handler->flags |= PHP_OUTPUT_HANDLER_PROCESSED; in php_output_handler_op()
1113 php_output_handler *handler = *(php_output_handler **) h; in php_output_stack_apply_op() local
1116 if ((was_disabled = (handler->flags & PHP_OUTPUT_HANDLER_DISABLED))) { in php_output_stack_apply_op()
1119 status = php_output_handler_op(handler, context); in php_output_stack_apply_op()
1132 if (handler->level) { in php_output_stack_apply_op()
1141 if (!handler->level) { in php_output_stack_apply_op()
1146 if (handler->level) { in php_output_stack_apply_op()
1159 php_output_handler *handler = *(php_output_handler **) h; in php_output_stack_apply_clean() local
1162 handler->buffer.used = 0; in php_output_stack_apply_clean()
1163 php_output_handler_op(handler, context); in php_output_stack_apply_clean()
1173 php_output_handler *handler = *(php_output_handler **) h; in php_output_stack_apply_list() local
1176 add_next_index_stringl(array, handler->name, handler->name_len, 1); in php_output_stack_apply_list()
1185 php_output_handler *handler = *(php_output_handler **) h; in php_output_stack_apply_status() local
1188 add_next_index_zval(array, php_output_handler_status(handler, NULL)); in php_output_stack_apply_status()
1195 static inline zval *php_output_handler_status(php_output_handler *handler, zval *entry) in php_output_handler_status() argument
1202 add_assoc_stringl(entry, "name", handler->name, handler->name_len, 1); in php_output_handler_status()
1203 add_assoc_long(entry, "type", (long) (handler->flags & 0xf)); in php_output_handler_status()
1204 add_assoc_long(entry, "flags", (long) handler->flags); in php_output_handler_status()
1205 add_assoc_long(entry, "level", (long) handler->level); in php_output_handler_status()
1206 add_assoc_long(entry, "chunk_size", (long) handler->size); in php_output_handler_status()
1207 add_assoc_long(entry, "buffer_size", (long) handler->buffer.size); in php_output_handler_status()
1208 add_assoc_long(entry, "buffer_used", (long) handler->buffer.used); in php_output_handler_status()