Lines Matching refs:context

59 …t_handler_status_t php_output_handler_op(php_output_handler *handler, php_output_context *context);
63 static inline php_output_context *php_output_context_init(php_output_context *context, int op TSRML…
64 static inline void php_output_context_reset(php_output_context *context);
65 static inline void php_output_context_swap(php_output_context *context);
66 static inline void php_output_context_dtor(php_output_context *context);
281 php_output_context context; in php_output_flush() local
284 php_output_context_init(&context, PHP_OUTPUT_HANDLER_FLUSH TSRMLS_CC); in php_output_flush()
285 php_output_handler_op(OG(active), &context); in php_output_flush()
286 if (context.out.data && context.out.used) { in php_output_flush()
288 php_output_write(context.out.data, context.out.used TSRMLS_CC); in php_output_flush()
291 php_output_context_dtor(&context); in php_output_flush()
312 php_output_context context; in php_output_clean() local
315 php_output_context_init(&context, PHP_OUTPUT_HANDLER_CLEAN TSRMLS_CC); in php_output_clean()
316 php_output_handler_op(OG(active), &context); in php_output_clean()
317 php_output_context_dtor(&context); in php_output_clean()
328 php_output_context context; in php_output_clean_all() local
331 php_output_context_init(&context, PHP_OUTPUT_HANDLER_CLEAN TSRMLS_CC); in php_output_clean_all()
332 …ply_with_argument(&OG(handlers), ZEND_STACK_APPLY_TOPDOWN, php_output_stack_apply_clean, &context); in php_output_clean_all()
788 static inline php_output_context *php_output_context_init(php_output_context *context, int op TSRML… in php_output_context_init() argument
790 if (!context) { in php_output_context_init()
791 context = emalloc(sizeof(php_output_context)); in php_output_context_init()
794 memset(context, 0, sizeof(php_output_context)); in php_output_context_init()
795 TSRMLS_SET_CTX(context->tsrm_ls); in php_output_context_init()
796 context->op = op; in php_output_context_init()
798 return context; in php_output_context_init()
804 static inline void php_output_context_reset(php_output_context *context) in php_output_context_reset() argument
806 int op = context->op; in php_output_context_reset()
807 php_output_context_dtor(context); in php_output_context_reset()
808 memset(context, 0, sizeof(php_output_context)); in php_output_context_reset()
809 context->op = op; in php_output_context_reset()
815 static inline void php_output_context_feed(php_output_context *context, char *data, size_t size, si… in php_output_context_feed() argument
817 if (context->in.free && context->in.data) { in php_output_context_feed()
818 efree(context->in.data); in php_output_context_feed()
820 context->in.data = data; in php_output_context_feed()
821 context->in.used = used; in php_output_context_feed()
822 context->in.free = free; in php_output_context_feed()
823 context->in.size = size; in php_output_context_feed()
829 static inline void php_output_context_swap(php_output_context *context) in php_output_context_swap() argument
831 if (context->in.free && context->in.data) { in php_output_context_swap()
832 efree(context->in.data); in php_output_context_swap()
834 context->in.data = context->out.data; in php_output_context_swap()
835 context->in.used = context->out.used; in php_output_context_swap()
836 context->in.free = context->out.free; in php_output_context_swap()
837 context->in.size = context->out.size; in php_output_context_swap()
838 context->out.data = NULL; in php_output_context_swap()
839 context->out.used = 0; in php_output_context_swap()
840 context->out.free = 0; in php_output_context_swap()
841 context->out.size = 0; in php_output_context_swap()
847 static inline void php_output_context_pass(php_output_context *context) in php_output_context_pass() argument
849 context->out.data = context->in.data; in php_output_context_pass()
850 context->out.used = context->in.used; in php_output_context_pass()
851 context->out.size = context->in.size; in php_output_context_pass()
852 context->out.free = context->in.free; in php_output_context_pass()
853 context->in.data = NULL; in php_output_context_pass()
854 context->in.used = 0; in php_output_context_pass()
855 context->in.free = 0; in php_output_context_pass()
856 context->in.size = 0; in php_output_context_pass()
862 static inline void php_output_context_dtor(php_output_context *context) in php_output_context_dtor() argument
864 if (context->in.free && context->in.data) { in php_output_context_dtor()
865 efree(context->in.data); in php_output_context_dtor()
866 context->in.data = NULL; in php_output_context_dtor()
868 if (context->out.free && context->out.data) { in php_output_context_dtor()
869 efree(context->out.data); in php_output_context_dtor()
870 context->out.data = NULL; in php_output_context_dtor()
923 …ut_handler_status_t php_output_handler_op(php_output_handler *handler, php_output_context *context) in php_output_handler_op() argument
926 int original_op = context->op; in php_output_handler_op()
927 PHP_OUTPUT_TSRMLS(context); in php_output_handler_op()
939 context->op, in php_output_handler_op()
946 context->in.used?context->in.data:"", in php_output_handler_op()
947 context->in.used in php_output_handler_op()
951 if (php_output_lock_error(context->op TSRMLS_CC)) { in php_output_handler_op()
957 if (php_output_handler_append(handler, &context->in TSRMLS_CC) && !context->op) { in php_output_handler_op()
958 context->op = original_op; in php_output_handler_op()
963 context->op |= PHP_OUTPUT_HANDLER_START; in php_output_handler_op()
973 ZVAL_LONG(ob_mode, (long) context->op); in php_output_handler_op()
983 context->out.data = estrndup(Z_STRVAL_P(retval), Z_STRLEN_P(retval)); in php_output_handler_op()
984 context->out.used = Z_STRLEN_P(retval); in php_output_handler_op()
985 context->out.free = 1; 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()
1006 if (context->out.used) { in php_output_handler_op()
1024 if (context->out.data && context->out.free) { in php_output_handler_op()
1025 efree(context->out.data); 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()
1030 context->out.free = 1; in php_output_handler_op()
1037 php_output_context_reset(context); in php_output_handler_op()
1046 context->op = original_op; in php_output_handler_op()
1056 php_output_context context; in php_output_op() local
1064 php_output_context_init(&context, op TSRMLS_CC); in php_output_op()
1072 context.in.data = (char *) str; in php_output_op()
1073 context.in.used = len; in php_output_op()
1076 …_apply_with_argument(&OG(handlers), ZEND_STACK_APPLY_TOPDOWN, php_output_stack_apply_op, &context); in php_output_op()
1078 php_output_handler_op(*active, &context); in php_output_op()
1080 php_output_context_pass(&context); in php_output_op()
1083 context.out.data = (char *) str; in php_output_op()
1084 context.out.used = len; in php_output_op()
1087 if (context.out.data && context.out.used) { in php_output_op()
1092 fprintf(stderr, "::: sapi_write('%s', %zu)\n", context.out.data, context.out.used); in php_output_op()
1094 sapi_module.ub_write(context.out.data, context.out.used TSRMLS_CC); in php_output_op()
1103 php_output_context_dtor(&context); in php_output_op()
1114 php_output_context *context = (php_output_context *) c; in php_output_stack_apply_op() local
1119 status = php_output_handler_op(handler, context); in php_output_stack_apply_op()
1133 php_output_context_swap(context); in php_output_stack_apply_op()
1142 php_output_context_pass(context); in php_output_stack_apply_op()
1147 php_output_context_swap(context); in php_output_stack_apply_op()
1160 php_output_context *context = (php_output_context *) c; in php_output_stack_apply_clean() local
1163 php_output_handler_op(handler, context); in php_output_stack_apply_clean()
1164 php_output_context_reset(context); in php_output_stack_apply_clean()
1218 php_output_context context; in php_output_stack_pop() local
1232 php_output_context_init(&context, PHP_OUTPUT_HANDLER_FINAL TSRMLS_CC); in php_output_stack_pop()
1238 context.op |= PHP_OUTPUT_HANDLER_START; in php_output_stack_pop()
1242 context.op |= PHP_OUTPUT_HANDLER_CLEAN; in php_output_stack_pop()
1244 php_output_handler_op(orphan, &context); in php_output_stack_pop()
1256 if (context.out.data && context.out.used && !(flags & PHP_OUTPUT_POP_DISCARD)) { in php_output_stack_pop()
1257 php_output_write(context.out.data, context.out.used TSRMLS_CC); in php_output_stack_pop()
1262 php_output_context_dtor(&context); in php_output_stack_pop()