static PHP_FUNCTION(libxml_get_errors)
{

	xmlErrorPtr error;

	if (LIBXML(error_list)) {

		array_init(return_value);
		error = zend_llist_get_first(LIBXML(error_list));

		while (error != NULL) {
			zval z_error;

			object_init_ex(&z_error, libxmlerror_class_entry);
			add_property_long_ex(&z_error, "level", sizeof("level") - 1, error->level);
			add_property_long_ex(&z_error, "code", sizeof("code") - 1, error->code);
			add_property_long_ex(&z_error, "column", sizeof("column") - 1, error->int2 );
			if (error->message) {
				add_property_string_ex(&z_error, "message", sizeof("message") - 1, error->message);
			} else {
				add_property_stringl_ex(&z_error, "message", sizeof("message") - 1, "", 0);
			}
			if (error->file) {
				add_property_string_ex(&z_error, "file", sizeof("file") - 1, error->file);
			} else {
				add_property_stringl_ex(&z_error, "file", sizeof("file") - 1, "", 0);
			}
			add_property_long_ex(&z_error, "line", sizeof("line") - 1, error->line);
			add_next_index_zval(return_value, &z_error);

			error = zend_llist_get_next(LIBXML(error_list));
		}
	} else {
		ZVAL_EMPTY_ARRAY(return_value);
	}
}
static PHP_FUNCTION(libxml_get_errors)
{

	xmlErrorPtr error;

	if (LIBXML(error_list)) {

		array_init(return_value);
		error = zend_llist_get_first(LIBXML(error_list));

		while (error != NULL) {
			zval z_error;

			object_init_ex(&z_error, libxmlerror_class_entry);
			add_property_long_ex(&z_error, "level", sizeof("level") - 1, error->level);
			add_property_long_ex(&z_error, "code", sizeof("code") - 1, error->code);
			add_property_long_ex(&z_error, "column", sizeof("column") - 1, error->int2 );
			if (error->message) {
				add_property_string_ex(&z_error, "message", sizeof("message") - 1, error->message);
			} else {
				add_property_stringl_ex(&z_error, "message", sizeof("message") - 1, "", 0);
			}
			if (error->file) {
				add_property_string_ex(&z_error, "file", sizeof("file") - 1, error->file);
			} else {
				add_property_stringl_ex(&z_error, "file", sizeof("file") - 1, "", 0);
			}
			add_property_long_ex(&z_error, "line", sizeof("line") - 1, error->line);
			add_next_index_zval(return_value, &z_error);

			error = zend_llist_get_next(LIBXML(error_list));
		}
	} else {
		ZVAL_EMPTY_ARRAY(return_value);
	}
}