50 log->self_mraw =
false;
54 log->self_mraw =
true;
110 msg->text.length = length;
112 msg->text.data[length] =
'\0';
141 const char *format, ...)
147 va_start(va, format);
160 va_start(va, format);
164 msg->text.length = psize;
171 const char *module_name,
const char *description)
173 static const char unexpected[] =
"%s. Not supported: %s";
176 module_name, description);
182 if (out_length !=
NULL) {
183 *out_length = lxb_css_log_types_map[
type].length;
191 const lxb_char_t *indent,
size_t indent_length)
197 if (
log->messages.length == 0) {
206 if (indent !=
NULL) {
217 if (i ==
log->messages.length) {
230 const lxb_char_t *indent,
size_t indent_length)
237 indent, indent_length);
251 indent, indent_length);
259 if (out_length !=
NULL) {
267 if (out_length !=
NULL) {
322 if (out_length !=
NULL) {
330 if (out_length !=
NULL) {
void * lexbor_array_obj_pop(lexbor_array_obj_t *array)
void * lexbor_array_obj_push(lexbor_array_obj_t *array)
void lexbor_array_obj_clean(lexbor_array_obj_t *array)
lxb_status_t lexbor_array_obj_init(lexbor_array_obj_t *array, size_t size, size_t struct_size)
lexbor_array_obj_t * lexbor_array_obj_destroy(lexbor_array_obj_t *array, bool self_destroy)
lxb_inline void * lexbor_array_obj_get(const lexbor_array_obj_t *array, size_t idx)
log(float $num, float $base=M_E)
lxb_status_t(* lexbor_serialize_cb_f)(const lxb_char_t *data, size_t len, void *ctx)
@ LXB_STATUS_ERROR_OBJECT_IS_NULL
#define lexbor_serialize_write(cb, data, length, ctx, status)
size_t lexbor_vsprintf(lxb_char_t *dst, size_t size, const char *format, va_list va)
size_t lexbor_vprintf_size(const char *format, va_list va)
LXB_API void * lexbor_free(void *dst)
LXB_API void * lexbor_malloc(size_t size)
LXB_API void * lexbor_calloc(size_t num, size_t size)
lxb_css_log_t * lxb_css_log_destroy(lxb_css_log_t *log, bool self_destroy)
void lxb_css_log_clean(lxb_css_log_t *log)
lxb_char_t * lxb_css_log_serialize_char(lxb_css_log_t *log, size_t *out_length, const lxb_char_t *indent, size_t indent_length)
lxb_css_log_message_t * lxb_css_log_append(lxb_css_log_t *log, lxb_css_log_type_t type, const lxb_char_t *str, size_t length)
lxb_css_log_message_t * lxb_css_log_format(lxb_css_log_t *log, lxb_css_log_type_t type, const char *format,...)
lxb_status_t lxb_css_log_init(lxb_css_log_t *log, lexbor_mraw_t *mraw)
const lxb_char_t * lxb_css_log_type_by_id(lxb_css_log_type_t type, size_t *out_length)
lxb_css_log_message_t * lxb_css_log_push(lxb_css_log_t *log, lxb_css_log_type_t type, size_t length)
lxb_status_t lxb_css_log_serialize(lxb_css_log_t *log, lexbor_serialize_cb_f cb, void *ctx, const lxb_char_t *indent, size_t indent_length)
lxb_css_log_message_t * lxb_css_log_not_supported(lxb_css_log_t *log, const char *module_name, const char *description)
lxb_char_t * lxb_css_log_message_serialize_char(lxb_css_log_message_t *msg, size_t *out_length)
lxb_css_log_t * lxb_css_log_create(void)
lxb_status_t lxb_css_log_message_serialize(lxb_css_log_message_t *msg, lexbor_serialize_cb_f cb, void *ctx)
@ LXB_CSS_LOG_SYNTAX_ERROR
lexbor_mraw_t * lexbor_mraw_create(void)
void lexbor_mraw_clean(lexbor_mraw_t *mraw)
lxb_status_t lexbor_mraw_init(lexbor_mraw_t *mraw, size_t chunk_size)
lexbor_mraw_t * lexbor_mraw_destroy(lexbor_mraw_t *mraw, bool destroy_self)
lxb_status_t lexbor_serialize_length_cb(const lxb_char_t *data, size_t length, void *ctx)
lxb_status_t lexbor_serialize_copy_cb(const lxb_char_t *data, size_t length, void *ctx)
lxb_char_t * lexbor_str_init(lexbor_str_t *str, lexbor_mraw_t *mraw, size_t size)
unsigned int lxb_status_t
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)