Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lexborisov/Modest.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/myhtml/tree.c')
-rw-r--r--source/myhtml/tree.c440
1 files changed, 172 insertions, 268 deletions
diff --git a/source/myhtml/tree.c b/source/myhtml/tree.c
index 618801e..533c307 100644
--- a/source/myhtml/tree.c
+++ b/source/myhtml/tree.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2015-2016 Alexander Borisov
+ Copyright (C) 2015-2017 Alexander Borisov
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -22,12 +22,12 @@
myhtml_tree_t * myhtml_tree_create(void)
{
- return (myhtml_tree_t*)myhtml_calloc(1, sizeof(myhtml_tree_t));
+ return (myhtml_tree_t*)mycore_calloc(1, sizeof(myhtml_tree_t));
}
-myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
+mystatus_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
{
- myhtml_status_t status = MyHTML_STATUS_OK;
+ mystatus_t status = MyHTML_STATUS_OK;
tree->myhtml = myhtml;
tree->token = myhtml_token_create(tree, 512);
@@ -38,7 +38,6 @@ myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
tree->temp_tag_name.data = NULL;
tree->stream_buffer = NULL;
tree->parse_flags = MyHTML_TREE_PARSE_FLAGS_CLEAN;
- tree->queue = mythread_queue_create(9182, &status);
tree->context = NULL;
tree->callback_before_token = NULL;
@@ -54,12 +53,21 @@ myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
if(status)
return status;
- /* init Incoming Buffer objects */
+ /* Thread Queue */
+ tree->queue = mythread_queue_create();
+ if(tree->queue == NULL)
+ return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
+
+ status = mythread_queue_init(tree->queue, 9182);
+ if(status)
+ return status;
+
+ /* Init Incoming Buffer objects */
tree->mcobject_incoming_buf = mcobject_create();
if(tree->mcobject_incoming_buf == NULL)
return MyHTML_STATUS_TREE_ERROR_INCOMING_BUFFER_CREATE;
- status = mcobject_init(tree->mcobject_incoming_buf, 256, sizeof(myhtml_incoming_buffer_t));
+ status = mcobject_init(tree->mcobject_incoming_buf, 256, sizeof(mycore_incoming_buffer_t));
if(status)
return status;
@@ -72,13 +80,19 @@ myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
if(mcstatus)
return MyHTML_STATUS_TREE_ERROR_MCOBJECT_INIT;
- tree->mchar = mchar_async_create(128, (4096 * 5));
+ tree->mchar = mchar_async_create();
tree->active_formatting = myhtml_tree_active_formatting_init(tree);
tree->open_elements = myhtml_tree_open_elements_init(tree);
tree->other_elements = myhtml_tree_list_init();
tree->token_list = myhtml_tree_token_list_init();
tree->template_insertion = myhtml_tree_template_insertion_init(tree);
+ if(tree->mchar == NULL)
+ return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
+
+ if((status = mchar_async_init(tree->mchar, 128, (4096 * 5))))
+ return status;
+
tree->mcasync_tree_id = mcobject_async_node_add(tree->tree_obj, &mcstatus);
if(mcstatus)
return MyHTML_STATUS_TREE_ERROR_MCOBJECT_CREATE_NODE;
@@ -91,36 +105,40 @@ myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
if(mcstatus)
return MyHTML_STATUS_TREE_ERROR_MCOBJECT_CREATE_NODE;
- tree->mchar_node_id = mchar_async_node_add(tree->mchar);
-
-#ifndef MyHTML_BUILD_WITHOUT_THREADS
-
- tree->async_args = (myhtml_async_args_t*)myhtml_calloc(myhtml->thread->pth_list_length, sizeof(myhtml_async_args_t));
-
+#ifndef MyCORE_BUILD_WITHOUT_THREADS
+ tree->async_args = (myhtml_async_args_t*)mycore_calloc(myhtml->thread_total, sizeof(myhtml_async_args_t));
if(tree->async_args == NULL)
- return MyHTML_STATUS_TREE_ERROR_MEMORY_ALLOCATION;
-
- // for single mode in main thread
- tree->async_args[0].mchar_node_id = tree->mchar_node_id;
+ return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
// for batch thread
- for(size_t i = 0; i < myhtml->thread->batch_count; i++) {
- tree->async_args[(myhtml->thread->batch_first_id + i)].mchar_node_id = mchar_async_node_add(tree->mchar);
+ for(size_t i = 0; i < myhtml->thread_total; i++) {
+ tree->async_args[i].mchar_node_id = mchar_async_node_add(tree->mchar, &status);
+
+ if(status)
+ return status;
}
-
-#else /* MyHTML_BUILD_WITHOUT_THREADS */
-
- tree->async_args = (myhtml_async_args_t*)myhtml_calloc(1, sizeof(myhtml_async_args_t));
+#else /* MyCORE_BUILD_WITHOUT_THREADS */
+ tree->async_args = (myhtml_async_args_t*)mycore_calloc(1, sizeof(myhtml_async_args_t));
if(tree->async_args == NULL)
return MyHTML_STATUS_TREE_ERROR_MEMORY_ALLOCATION;
- tree->async_args->mchar_node_id = tree->mchar_node_id;
+ tree->async_args->mchar_node_id = mchar_async_node_add(tree->mchar, &status);
-#endif /* MyHTML_BUILD_WITHOUT_THREADS */
+ if(status)
+ return status;
+
+#endif /* MyCORE_BUILD_WITHOUT_THREADS */
+
+ /* for main thread only after parsing */
+ tree->mchar_node_id = tree->async_args->mchar_node_id;
tree->sync = mcsync_create();
- mcsync_init(tree->sync);
+ if(tree->sync == NULL)
+ return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
+
+ if(mcsync_init(tree->sync))
+ return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
/* init Tags after create and init mchar */
tree->tags = myhtml_tag_create();
@@ -133,22 +151,23 @@ myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml)
void myhtml_tree_clean(myhtml_tree_t* tree)
{
-#ifndef MyHTML_BUILD_WITHOUT_THREADS
+#ifndef MyCORE_BUILD_WITHOUT_THREADS
myhtml_t* myhtml = tree->myhtml;
- for(size_t i = 0; i < myhtml->thread->batch_count; i++) {
- mchar_async_node_clean(tree->mchar, tree->async_args[(myhtml->thread->batch_first_id + i)].mchar_node_id);
+ for(size_t i = 0; i < myhtml->thread_total; i++) {
+ mchar_async_node_clean(tree->mchar, tree->async_args[i].mchar_node_id);
}
-#endif /* MyHTML_BUILD_WITHOUT_THREADS */
+#else
+ mchar_async_node_clean(tree->mchar, tree->mchar_node_id);
+#endif
mcobject_async_node_clean(tree->tree_obj, tree->mcasync_tree_id);
mcobject_async_node_clean(tree->token->nodes_obj, tree->mcasync_rules_token_id);
mcobject_async_node_clean(tree->token->attr_obj, tree->mcasync_rules_attr_id);
- mchar_async_node_clean(tree->mchar, tree->mchar_node_id);
-#ifndef MyHTML_BUILD_WITHOUT_THREADS
- mythread_queue_list_entry_clean(tree->myhtml->thread, tree->queue_entry);
-#endif /* MyHTML_BUILD_WITHOUT_THREADS */
+#ifndef MyCORE_BUILD_WITHOUT_THREADS
+ mythread_queue_list_entry_clean(tree->queue_entry);
+#endif /* MyCORE_BUILD_WITHOUT_THREADS */
myhtml_token_clean(tree->token);
@@ -184,8 +203,8 @@ void myhtml_tree_clean(myhtml_tree_t* tree)
tree->token_last_done = NULL;
tree->tokenizer_status = MyHTML_STATUS_OK;
- tree->encoding = MyHTML_ENCODING_UTF_8;
- tree->encoding_usereq = MyHTML_ENCODING_DEFAULT;
+ tree->encoding = MyENCODING_UTF_8;
+ tree->encoding_usereq = MyENCODING_DEFAULT;
myhtml_stream_buffer_clean(tree->stream_buffer);
@@ -239,8 +258,8 @@ void myhtml_tree_clean_all(myhtml_tree_t* tree)
tree->token_last_done = NULL;
tree->tokenizer_status = MyHTML_STATUS_OK;
- tree->encoding = MyHTML_ENCODING_UTF_8;
- tree->encoding_usereq = MyHTML_ENCODING_DEFAULT;
+ tree->encoding = MyENCODING_UTF_8;
+ tree->encoding_usereq = MyENCODING_DEFAULT;
myhtml_stream_buffer_clean(tree->stream_buffer);
@@ -252,9 +271,9 @@ void myhtml_tree_clean_all(myhtml_tree_t* tree)
mcobject_clean(tree->mcobject_incoming_buf);
myhtml_tag_clean(tree->tags);
-#ifndef MyHTML_BUILD_WITHOUT_THREADS
- mythread_queue_list_entry_clean(tree->myhtml->thread, tree->queue_entry);
-#endif /* MyHTML_BUILD_WITHOUT_THREADS */
+#ifndef MyCORE_BUILD_WITHOUT_THREADS
+ mythread_queue_list_entry_clean(tree->queue_entry);
+#endif
tree->attr_current = myhtml_token_attr_create(tree->token, tree->token->mcasync_attr_id);
}
@@ -281,8 +300,8 @@ myhtml_tree_t * myhtml_tree_destroy(myhtml_tree_t* tree)
myhtml_tree_temp_tag_name_destroy(&tree->temp_tag_name, false);
- myhtml_free(tree->async_args);
- myhtml_free(tree);
+ mycore_free(tree->async_args);
+ mycore_free(tree);
return NULL;
}
@@ -493,7 +512,7 @@ myhtml_tree_node_t * myhtml_tree_node_clone(myhtml_tree_node_t* node)
{
myhtml_tree_node_t* new_node = myhtml_tree_node_create(node->tree);
- myhtml_token_node_wait_for_done(node->token);
+ myhtml_token_node_wait_for_done(node->tree->token, node->token);
new_node->token = myhtml_token_node_clone(node->tree->token, node->token,
node->tree->mcasync_rules_token_id,
@@ -735,11 +754,11 @@ bool myhtml_tree_element_in_scope_by_node(myhtml_tree_node_t* node, enum myhtml_
// list
myhtml_tree_list_t * myhtml_tree_list_init(void)
{
- myhtml_tree_list_t* list = myhtml_malloc(sizeof(myhtml_tree_list_t));
+ myhtml_tree_list_t* list = mycore_malloc(sizeof(myhtml_tree_list_t));
list->length = 0;
list->size = 4096;
- list->list = (myhtml_tree_node_t**)myhtml_malloc(sizeof(myhtml_tree_node_t*) * list->size);
+ list->list = (myhtml_tree_node_t**)mycore_malloc(sizeof(myhtml_tree_node_t*) * list->size);
return list;
}
@@ -755,10 +774,10 @@ myhtml_tree_list_t * myhtml_tree_list_destroy(myhtml_tree_list_t* list, bool des
return NULL;
if(list->list)
- myhtml_free(list->list);
+ mycore_free(list->list);
if(destroy_self && list) {
- myhtml_free(list);
+ mycore_free(list);
return NULL;
}
@@ -770,7 +789,7 @@ void myhtml_tree_list_append(myhtml_tree_list_t* list, myhtml_tree_node_t* node)
if(list->length >= list->size) {
list->size <<= 1;
- myhtml_tree_node_t** tmp = (myhtml_tree_node_t**)myhtml_realloc(list->list, sizeof(myhtml_tree_node_t*) * list->size);
+ myhtml_tree_node_t** tmp = (myhtml_tree_node_t**)mycore_realloc(list->list, sizeof(myhtml_tree_node_t*) * list->size);
if(tmp)
list->list = tmp;
@@ -790,7 +809,7 @@ void myhtml_tree_list_insert_by_index(myhtml_tree_list_t* list, myhtml_tree_node
if(list->length >= list->size) {
list->size <<= 1;
- myhtml_tree_node_t** tmp = (myhtml_tree_node_t**)myhtml_realloc(list->list, sizeof(myhtml_tree_node_t*) * list->size);
+ myhtml_tree_node_t** tmp = (myhtml_tree_node_t**)mycore_realloc(list->list, sizeof(myhtml_tree_node_t*) * list->size);
if(tmp)
list->list = tmp;
@@ -831,7 +850,7 @@ myhtml_tree_list_t * myhtml_tree_open_elements_destroy(myhtml_tree_t* tree)
myhtml_tree_node_t * myhtml_tree_current_node(myhtml_tree_t* tree)
{
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Current node; Open elements is 0");
+ MyCORE_DEBUG("Current node; Open elements is 0");
return 0;
}
@@ -861,9 +880,9 @@ void myhtml_tree_open_elements_pop(myhtml_tree_t* tree)
if(tree->open_elements->length)
tree->open_elements->length--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Pop open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
+ MyCORE_DEBUG("Pop open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
}
#endif
}
@@ -886,9 +905,9 @@ void myhtml_tree_open_elements_remove(myhtml_tree_t* tree, myhtml_tree_node_t* n
}
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Remove open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
+ MyCORE_DEBUG("Remove open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
}
#endif
}
@@ -913,9 +932,9 @@ void myhtml_tree_open_elements_pop_until(myhtml_tree_t* tree, myhtml_tag_id_t ta
}
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Until open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
+ MyCORE_DEBUG("Until open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
}
#endif
}
@@ -936,9 +955,9 @@ void myhtml_tree_open_elements_pop_until_by_node(myhtml_tree_t* tree, myhtml_tre
}
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Until by node open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
+ MyCORE_DEBUG("Until by node open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
}
#endif
}
@@ -957,9 +976,9 @@ void myhtml_tree_open_elements_pop_until_by_index(myhtml_tree_t* tree, size_t id
}
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Until by index open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
+ MyCORE_DEBUG("Until by index open elements; Now, Open Elements set 0; Good, if the end of parsing, otherwise is very bad");
}
#endif
}
@@ -1045,7 +1064,7 @@ myhtml_tree_node_t * myhtml_tree_open_elements_find_by_tag_idx(myhtml_tree_t* tr
void myhtml_tree_generate_implied_end_tags(myhtml_tree_t* tree, myhtml_tag_id_t exclude_tag_idx, myhtml_namespace_t mynamespace)
{
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Generate implied end tags; Open elements is 0");
+ MyCORE_DEBUG("Generate implied end tags; Open elements is 0");
return;
}
@@ -1053,9 +1072,9 @@ void myhtml_tree_generate_implied_end_tags(myhtml_tree_t* tree, myhtml_tag_id_t
{
myhtml_tree_node_t* current_node = myhtml_tree_current_node(tree);
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(current_node == NULL) {
- MyHTML_DEBUG_ERROR("Generate implied end tags; Current node is NULL! This is very bad");
+ MyCORE_DEBUG_ERROR("Generate implied end tags; Current node is NULL! This is very bad");
}
#endif
@@ -1087,7 +1106,7 @@ void myhtml_tree_generate_implied_end_tags(myhtml_tree_t* tree, myhtml_tag_id_t
void myhtml_tree_generate_all_implied_end_tags(myhtml_tree_t* tree, myhtml_tag_id_t exclude_tag_idx, myhtml_namespace_t mynamespace)
{
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Generate all implied end tags; Open elements is 0");
+ MyCORE_DEBUG("Generate all implied end tags; Open elements is 0");
return;
}
@@ -1095,9 +1114,9 @@ void myhtml_tree_generate_all_implied_end_tags(myhtml_tree_t* tree, myhtml_tag_i
{
myhtml_tree_node_t* current_node = myhtml_tree_current_node(tree);
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(current_node == NULL) {
- MyHTML_DEBUG_ERROR("Generate all implied end tags; Current node is NULL! This is very bad");
+ MyCORE_DEBUG_ERROR("Generate all implied end tags; Current node is NULL! This is very bad");
}
#endif
@@ -1136,7 +1155,7 @@ void myhtml_tree_generate_all_implied_end_tags(myhtml_tree_t* tree, myhtml_tag_i
void myhtml_tree_reset_insertion_mode_appropriately(myhtml_tree_t* tree)
{
if(tree->open_elements->length == 0) {
- MyHTML_DEBUG("Reset insertion mode appropriately; Open elements is 0");
+ MyCORE_DEBUG("Reset insertion mode appropriately; Open elements is 0");
return;
}
@@ -1154,9 +1173,9 @@ void myhtml_tree_reset_insertion_mode_appropriately(myhtml_tree_t* tree)
// step 2
myhtml_tree_node_t* node = list[i];
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(node == NULL) {
- MyHTML_DEBUG_ERROR("Reset insertion mode appropriately; node is NULL! This is very bad");
+ MyCORE_DEBUG_ERROR("Reset insertion mode appropriately; node is NULL! This is very bad");
}
#endif
@@ -1197,9 +1216,9 @@ void myhtml_tree_reset_insertion_mode_appropriately(myhtml_tree_t* tree)
return;
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(ancestor == 0) {
- MyHTML_DEBUG_ERROR("Reset insertion mode appropriately; Ancestor is 0! This is very, very bad");
+ MyCORE_DEBUG_ERROR("Reset insertion mode appropriately; Ancestor is 0! This is very, very bad");
}
#endif
@@ -1315,9 +1334,9 @@ myhtml_tree_list_t * myhtml_tree_active_formatting_destroy(myhtml_tree_t* tree)
bool myhtml_tree_active_formatting_is_marker(myhtml_tree_t* tree, myhtml_tree_node_t* node)
{
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(node == NULL) {
- MyHTML_DEBUG_ERROR("Active formatting is marker; node is NULL!");
+ MyCORE_DEBUG_ERROR("Active formatting is marker; node is NULL!");
}
#endif
@@ -1351,9 +1370,9 @@ void myhtml_tree_active_formatting_pop(myhtml_tree_t* tree)
if(tree->active_formatting->length)
tree->active_formatting->length--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->active_formatting->length == 0) {
- MyHTML_DEBUG("Pop active formatting; length is 0");
+ MyCORE_DEBUG("Pop active formatting; length is 0");
}
#endif
}
@@ -1376,9 +1395,9 @@ void myhtml_tree_active_formatting_remove(myhtml_tree_t* tree, myhtml_tree_node_
}
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->active_formatting->length == 0) {
- // MyHTML_DEBUG("Remove active formatting; length is 0");
+ // MyCORE_DEBUG("Remove active formatting; length is 0");
}
#endif
}
@@ -1390,9 +1409,9 @@ void myhtml_tree_active_formatting_remove_by_index(myhtml_tree_t* tree, size_t i
memmove(&list[idx], &list[idx + 1], sizeof(myhtml_tree_node_t*) * (tree->active_formatting->length - idx));
tree->active_formatting->length--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->active_formatting->length == 0) {
- MyHTML_DEBUG("Remove active formatting by index; length is 0");
+ MyCORE_DEBUG("Remove active formatting by index; length is 0");
}
#endif
}
@@ -1413,9 +1432,9 @@ void myhtml_tree_active_formatting_append_with_check(myhtml_tree_t* tree, myhtml
{
i--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(list[i] == NULL) {
- MyHTML_DEBUG("Appen active formatting with check; list[%zu] is NULL", i);
+ MyCORE_DEBUG("Appen active formatting with check; list[" MyCORE_FORMAT_Z "] is NULL", i);
}
#endif
@@ -1424,8 +1443,8 @@ void myhtml_tree_active_formatting_append_with_check(myhtml_tree_t* tree, myhtml
if(list[i]->token && node->token)
{
- myhtml_token_node_wait_for_done(list[i]->token);
- myhtml_token_node_wait_for_done(node->token);
+ myhtml_token_node_wait_for_done(tree->token, list[i]->token);
+ myhtml_token_node_wait_for_done(tree->token, node->token);
if(list[i]->ns == node->ns &&
list[i]->tag_id == node->tag_id &&
@@ -1446,7 +1465,7 @@ void myhtml_tree_active_formatting_append_with_check(myhtml_tree_t* tree, myhtml
myhtml_tree_node_t * myhtml_tree_active_formatting_current_node(myhtml_tree_t* tree)
{
if(tree->active_formatting->length == 0) {
- MyHTML_DEBUG("Current node active formatting; length is 0");
+ MyCORE_DEBUG("Current node active formatting; length is 0");
return 0;
}
@@ -1482,9 +1501,9 @@ void myhtml_tree_active_formatting_up_to_last_marker(myhtml_tree_t* tree)
if(tree->active_formatting->length == 0)
return;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(list[ tree->active_formatting->length ] == NULL) {
- MyHTML_DEBUG("Up to last marker active formatting; list[%zu] is NULL", tree->active_formatting->length);
+ MyCORE_DEBUG("Up to last marker active formatting; list[" MyCORE_FORMAT_Z "] is NULL", tree->active_formatting->length);
}
#endif
@@ -1492,9 +1511,9 @@ void myhtml_tree_active_formatting_up_to_last_marker(myhtml_tree_t* tree)
{
tree->active_formatting->length--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(list[ tree->active_formatting->length ] == NULL) {
- MyHTML_DEBUG("Up to last marker active formatting; list[%zu] is NULL", tree->active_formatting->length);
+ MyCORE_DEBUG("Up to last marker active formatting; list[" MyCORE_FORMAT_Z "] is NULL", tree->active_formatting->length);
}
#endif
@@ -1515,9 +1534,9 @@ myhtml_tree_node_t * myhtml_tree_active_formatting_between_last_marker(myhtml_tr
{
i--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(list[i] == NULL) {
- MyHTML_DEBUG("Between last marker active formatting; list[%zu] is NULL", i);
+ MyCORE_DEBUG("Between last marker active formatting; list[" MyCORE_FORMAT_Z "] is NULL", i);
}
#endif
@@ -1554,9 +1573,9 @@ void myhtml_tree_active_formatting_reconstruction(myhtml_tree_t* tree)
{
af_idx--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(list[af_idx] == NULL) {
- MyHTML_DEBUG("Formatting reconstruction; Step 4--6; list[%zu] is NULL", af_idx);
+ MyCORE_DEBUG("Formatting reconstruction; Step 4--6; list[" MyCORE_FORMAT_Z "] is NULL", af_idx);
}
#endif
@@ -1570,9 +1589,9 @@ void myhtml_tree_active_formatting_reconstruction(myhtml_tree_t* tree)
while (af_idx < af->length)
{
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(list[af_idx] == NULL) {
- MyHTML_DEBUG("Formatting reconstruction; Next steps; list[%zu] is NULL", af_idx);
+ MyCORE_DEBUG("Formatting reconstruction; Next steps; list[" MyCORE_FORMAT_Z "] is NULL", af_idx);
}
#endif
@@ -1596,9 +1615,9 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
myhtml_tree_node_t** afe_list = tree->active_formatting->list;
myhtml_tree_node_t* current_node = oel_list[oel_curr_index];
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(current_node == NULL) {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Current node is NULL");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Current node is NULL");
}
#endif
@@ -1707,18 +1726,18 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
/* %EXTERNAL% VALIDATOR:RULES TOKEN STATUS:AAA_BEGIN LEVEL:INFO */
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(oel_format_el_idx == 0) {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Step 11; oel_format_el_idx is 0; Bad!");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Step 11; oel_format_el_idx is 0; Bad!");
}
#endif
// step 12
myhtml_tree_node_t* common_ancestor = oel_list[oel_format_el_idx - 1];
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(common_ancestor == NULL) {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Step 11; common_ancestor is NULL");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Step 11; common_ancestor is NULL");
}
#endif
@@ -1744,7 +1763,7 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
if(node_index > 0)
node_index--;
else {
- fprintf(stderr, "ERROR: adoption agency algorithm; decrement node_index, node_index is null");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; decrement node_index, node_index is null");
return false;
}
@@ -1752,9 +1771,9 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
node = oel_list[node_index];
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(node == NULL) {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Step 13.3; node is NULL");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Step 13.3; node is NULL");
}
#endif
// step 14.4
@@ -1795,9 +1814,9 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
if(last == furthest_block) {
bookmark = afe_node_index + 1;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(bookmark >= tree->active_formatting->length) {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Step 13.8; bookmark >= open_elements length");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Step 13.8; bookmark >= open_elements length");
}
#endif
}
@@ -1846,9 +1865,9 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
if(afe_index < bookmark)
bookmark--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(bookmark >= tree->active_formatting->length) {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Before Step 18; bookmark (%zu) >= open_elements length", bookmark);
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Before Step 18; bookmark (" MyCORE_FORMAT_Z ") >= open_elements length", bookmark);
}
#endif
@@ -1862,7 +1881,7 @@ bool myhtml_tree_adoption_agency_algorithm(myhtml_tree_t* tree, myhtml_token_nod
myhtml_tree_list_insert_by_index(tree->open_elements, new_formatting_element, idx_furthest_block + 1);
}
else {
- MyHTML_DEBUG_ERROR("Adoption agency algorithm; Step 19; can't find furthest_block in open elements");
+ MyCORE_DEBUG_ERROR("Adoption agency algorithm; Step 19; can't find furthest_block in open elements");
}
}
@@ -1881,9 +1900,9 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting(myhtml_tree_t* tree
myhtml_tree_node_t* adjusted_location;
if(tree->foster_parenting) {
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(target == NULL) {
- MyHTML_DEBUG_ERROR("Appropriate place inserting; Step 2; target is NULL in return value! This IS very bad");
+ MyCORE_DEBUG_ERROR("Appropriate place inserting; Step 2; target is NULL in return value! This IS very bad");
}
#endif
if(target->ns != MyHTML_NAMESPACE_HTML)
@@ -1932,9 +1951,9 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting(myhtml_tree_t* tree
break;
}
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(idx_table == 0) {
- MyHTML_DEBUG_ERROR("Appropriate place inserting; Step 2.5; idx_table is 0");
+ MyCORE_DEBUG_ERROR("Appropriate place inserting; Step 2.5; idx_table is 0");
}
#endif
@@ -1950,9 +1969,9 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting(myhtml_tree_t* tree
}
}
else {
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(target == NULL) {
- MyHTML_DEBUG_ERROR("Appropriate place inserting; Step 3-5; target is NULL in return value! This IS very bad");
+ MyCORE_DEBUG_ERROR("Appropriate place inserting; Step 3-5; target is NULL in return value! This IS very bad");
}
#endif
@@ -1972,9 +1991,9 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting_in_tree(myhtml_tree
myhtml_tree_node_t* adjusted_location;
if(target->tree->foster_parenting) {
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(target == NULL) {
- MyHTML_DEBUG_ERROR("Appropriate place inserting; Step 2; target is NULL in return value! This IS very bad");
+ MyCORE_DEBUG_ERROR("Appropriate place inserting; Step 2; target is NULL in return value! This IS very bad");
}
#endif
@@ -2028,12 +2047,6 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting_in_tree(myhtml_tree
break;
}
-#ifdef DEBUG_MODE
- if(idx_table == 0) {
- MyHTML_DEBUG_ERROR("Appropriate place inserting; Step 2.5; idx_table is 0");
- }
-#endif
-
// step 2.6-7
adjusted_location = target;
@@ -2047,9 +2060,9 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting_in_tree(myhtml_tree
}
}
else {
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(target == NULL) {
- MyHTML_DEBUG_ERROR("Appropriate place inserting; Step 3-5; target is NULL in return value! This IS very bad");
+ MyCORE_DEBUG_ERROR("Appropriate place inserting; Step 3-5; target is NULL in return value! This IS very bad");
}
#endif
@@ -2066,11 +2079,11 @@ myhtml_tree_node_t * myhtml_tree_appropriate_place_inserting_in_tree(myhtml_tree
// stack of template insertion modes
myhtml_tree_insertion_list_t * myhtml_tree_template_insertion_init(myhtml_tree_t* tree)
{
- myhtml_tree_insertion_list_t* list = myhtml_malloc(sizeof(myhtml_tree_insertion_list_t));
+ myhtml_tree_insertion_list_t* list = mycore_malloc(sizeof(myhtml_tree_insertion_list_t));
list->length = 0;
list->size = 1024;
- list->list = (enum myhtml_insertion_mode*)myhtml_malloc(sizeof(enum myhtml_insertion_mode) * list->size);
+ list->list = (enum myhtml_insertion_mode*)mycore_malloc(sizeof(enum myhtml_insertion_mode) * list->size);
tree->template_insertion = list;
@@ -2088,10 +2101,10 @@ myhtml_tree_insertion_list_t * myhtml_tree_template_insertion_destroy(myhtml_tre
return NULL;
if(tree->template_insertion->list)
- myhtml_free(tree->template_insertion->list);
+ mycore_free(tree->template_insertion->list);
if(tree->template_insertion)
- myhtml_free(tree->template_insertion);
+ mycore_free(tree->template_insertion);
return NULL;
}
@@ -2103,7 +2116,7 @@ void myhtml_tree_template_insertion_append(myhtml_tree_t* tree, enum myhtml_inse
if(list->length >= list->size) {
list->size <<= 1;
- enum myhtml_insertion_mode* tmp = (enum myhtml_insertion_mode*)myhtml_realloc(list->list,
+ enum myhtml_insertion_mode* tmp = (enum myhtml_insertion_mode*)mycore_realloc(list->list,
sizeof(enum myhtml_insertion_mode) * list->size);
if(tmp)
@@ -2119,9 +2132,9 @@ void myhtml_tree_template_insertion_pop(myhtml_tree_t* tree)
if(tree->template_insertion->length)
tree->template_insertion->length--;
-#ifdef DEBUG_MODE
+#ifdef MyCORE_BUILD_DEBUG
if(tree->template_insertion->length == 0) {
- MyHTML_DEBUG("Pop template insertion; length is 0");
+ MyCORE_DEBUG("Pop template insertion; length is 0");
}
#endif
}
@@ -2131,122 +2144,14 @@ size_t myhtml_tree_template_insertion_length(myhtml_tree_t* tree)
return tree->template_insertion->length;
}
-void myhtml_tree_print_node(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out)
-{
- if(node == NULL)
- return;
-
- const myhtml_tag_context_t *ctx = myhtml_tag_get_by_id(tree->tags, node->tag_id);
-
- if(node->tag_id == MyHTML_TAG__TEXT ||
- node->tag_id == MyHTML_TAG__COMMENT)
- {
- if(node->token)
- fprintf(out, "<%.*s>: %.*s\n", (int)ctx->name_length, ctx->name,
- (int)node->token->str.length, node->token->str.data);
- else
- fprintf(out, "<%.*s>\n", (int)ctx->name_length, ctx->name);
- }
- else if(node->tag_id == MyHTML_TAG__DOCTYPE)
- {
- fprintf(out, "<!DOCTYPE");
-
- if(tree->doctype.attr_name) {
- fprintf(out, " %s", tree->doctype.attr_name);
- }
-
- if(tree->doctype.attr_public) {
- fprintf(out, " %s", tree->doctype.attr_public);
- }
-
- if(tree->doctype.attr_system) {
- fprintf(out, " %s", tree->doctype.attr_system);
- }
-
- fprintf(out, ">\n");
- }
- else
- {
- if(node->token && node->token->type & MyHTML_TOKEN_TYPE_CLOSE) {
- fprintf(out, "</%.*s", (int)ctx->name_length, ctx->name);
- }
- else {
- fprintf(out, "<%.*s", (int)ctx->name_length, ctx->name);
- }
-
- if(node->ns != MyHTML_NAMESPACE_HTML) {
- switch (node->ns) {
- case MyHTML_NAMESPACE_SVG:
- fprintf(out, ":svg");
- break;
- case MyHTML_NAMESPACE_MATHML:
- fprintf(out, ":math");
- break;
- case MyHTML_NAMESPACE_XLINK:
- fprintf(out, ":xlink");
- break;
- case MyHTML_NAMESPACE_XML:
- fprintf(out, ":xml");
- break;
- case MyHTML_NAMESPACE_XMLNS:
- fprintf(out, ":xmlns");
- break;
- default:
- break;
- }
- }
-
- if(node->token)
- myhtml_token_print_attr(tree, node->token, out);
-
- fprintf(out, ">\n");
- }
-}
-
-void _myhtml_tree_print_node_children(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out, size_t inc)
-{
- if(node == NULL)
- return;
-
- size_t i;
-
- while(node)
- {
- for(i = 0; i < inc; i++)
- fprintf(out, "\t");
-
- myhtml_tree_print_node(tree, node, out);
- _myhtml_tree_print_node_children(tree, node->child, out, (inc + 1));
-
- node = node->next;
- }
-}
-
-void myhtml_tree_print_node_children(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out, size_t inc)
-{
- if(node == NULL)
- return;
-
- _myhtml_tree_print_node_children(tree, node->child, out, inc);
-}
-
-void myhtml_tree_print_by_node(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out, size_t inc)
-{
- if(node == NULL)
- return;
-
- myhtml_tree_print_node(tree, node, out);
- myhtml_tree_print_node_children(tree, node, out, (inc + 1));
-}
-
// token list
myhtml_tree_token_list_t * myhtml_tree_token_list_init(void)
{
- myhtml_tree_token_list_t* list = myhtml_malloc(sizeof(myhtml_tree_token_list_t));
+ myhtml_tree_token_list_t* list = mycore_malloc(sizeof(myhtml_tree_token_list_t));
list->length = 0;
list->size = 4096;
- list->list = (myhtml_token_node_t**)myhtml_malloc(sizeof(myhtml_token_node_t*) * list->size);
+ list->list = (myhtml_token_node_t**)mycore_malloc(sizeof(myhtml_token_node_t*) * list->size);
return list;
}
@@ -2262,10 +2167,10 @@ myhtml_tree_token_list_t * myhtml_tree_token_list_destroy(myhtml_tree_token_list
return NULL;
if(list->list)
- myhtml_free(list->list);
+ mycore_free(list->list);
if(destroy_self && list) {
- myhtml_free(list);
+ mycore_free(list);
return NULL;
}
@@ -2277,7 +2182,7 @@ void myhtml_tree_token_list_append(myhtml_tree_token_list_t* list, myhtml_token_
if(list->length >= list->size) {
list->size <<= 1;
- myhtml_token_node_t** tmp = (myhtml_token_node_t**)myhtml_realloc(list->list, sizeof(myhtml_token_node_t*) * list->size);
+ myhtml_token_node_t** tmp = (myhtml_token_node_t**)mycore_realloc(list->list, sizeof(myhtml_token_node_t*) * list->size);
if(tmp)
list->list = tmp;
@@ -2292,7 +2197,7 @@ void myhtml_tree_token_list_append_after_index(myhtml_tree_token_list_t* list, m
if(list->length >= list->size) {
list->size <<= 1;
- myhtml_token_node_t** tmp = (myhtml_token_node_t**)myhtml_realloc(list->list, sizeof(myhtml_token_node_t*) * list->size);
+ myhtml_token_node_t** tmp = (myhtml_token_node_t**)mycore_realloc(list->list, sizeof(myhtml_token_node_t*) * list->size);
if(tmp)
list->list = tmp;
@@ -2313,7 +2218,7 @@ void myhtml_tree_token_list_append_after_index(myhtml_tree_token_list_t* list, m
myhtml_token_node_t * myhtml_tree_token_list_current_node(myhtml_tree_token_list_t* list)
{
if(list->length == 0) {
- MyHTML_DEBUG("Token list current node; length is 0");
+ MyCORE_DEBUG("Token list current node; length is 0");
return NULL;
}
@@ -2443,7 +2348,7 @@ bool myhtml_tree_is_html_integration_point(myhtml_tree_t* tree, myhtml_tree_node
node->tag_id == MyHTML_TAG_ANNOTATION_XML && node->token &&
(node->token->type & MyHTML_TOKEN_TYPE_CLOSE) == 0)
{
- myhtml_token_node_wait_for_done(node->token);
+ myhtml_token_node_wait_for_done(tree->token, node->token);
myhtml_token_attr_t* attr = myhtml_token_attr_match_case(tree->token, node->token,
"encoding", 8, "text/html", 9);
@@ -2460,11 +2365,11 @@ bool myhtml_tree_is_html_integration_point(myhtml_tree_t* tree, myhtml_tree_node
}
// temp tag name
-myhtml_status_t myhtml_tree_temp_tag_name_init(myhtml_tree_temp_tag_name_t* temp_tag_name)
+mystatus_t myhtml_tree_temp_tag_name_init(myhtml_tree_temp_tag_name_t* temp_tag_name)
{
temp_tag_name->size = 1024;
temp_tag_name->length = 0;
- temp_tag_name->data = (char *)myhtml_malloc(temp_tag_name->size * sizeof(char));
+ temp_tag_name->data = (char *)mycore_malloc(temp_tag_name->size * sizeof(char));
if(temp_tag_name->data == NULL)
return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
@@ -2483,23 +2388,23 @@ myhtml_tree_temp_tag_name_t * myhtml_tree_temp_tag_name_destroy(myhtml_tree_temp
return NULL;
if(temp_tag_name->data) {
- myhtml_free(temp_tag_name->data);
+ mycore_free(temp_tag_name->data);
temp_tag_name->data = NULL;
}
if(self_destroy) {
- myhtml_free(temp_tag_name);
+ mycore_free(temp_tag_name);
return NULL;
}
return temp_tag_name;
}
-myhtml_status_t myhtml_tree_temp_tag_name_append_one(myhtml_tree_temp_tag_name_t* temp_tag_name, const char name)
+mystatus_t myhtml_tree_temp_tag_name_append_one(myhtml_tree_temp_tag_name_t* temp_tag_name, const char name)
{
if(temp_tag_name->length >= temp_tag_name->size) {
size_t nsize = temp_tag_name->size << 1;
- char *tmp = (char *)myhtml_realloc(temp_tag_name->data, nsize * sizeof(char));
+ char *tmp = (char *)mycore_realloc(temp_tag_name->data, nsize * sizeof(char));
if(tmp) {
temp_tag_name->size = nsize;
@@ -2515,14 +2420,14 @@ myhtml_status_t myhtml_tree_temp_tag_name_append_one(myhtml_tree_temp_tag_name_t
return MyHTML_STATUS_OK;
}
-myhtml_status_t myhtml_tree_temp_tag_name_append(myhtml_tree_temp_tag_name_t* temp_tag_name, const char* name, size_t name_len)
+mystatus_t myhtml_tree_temp_tag_name_append(myhtml_tree_temp_tag_name_t* temp_tag_name, const char* name, size_t name_len)
{
if(temp_tag_name->data == NULL || name_len == 0)
return MyHTML_STATUS_OK;
if((temp_tag_name->length + name_len) >= temp_tag_name->size) {
size_t nsize = (temp_tag_name->size << 1) + name_len;
- char *tmp = (char *)myhtml_realloc(temp_tag_name->data, nsize * sizeof(char));
+ char *tmp = (char *)mycore_realloc(temp_tag_name->data, nsize * sizeof(char));
if(tmp) {
temp_tag_name->size = nsize;
@@ -2540,20 +2445,19 @@ myhtml_status_t myhtml_tree_temp_tag_name_append(myhtml_tree_temp_tag_name_t* te
void myhtml_tree_wait_for_last_done_token(myhtml_tree_t* tree, myhtml_token_node_t* token_for_wait)
{
-#ifndef MyHTML_BUILD_WITHOUT_THREADS
+#ifndef MyCORE_BUILD_WITHOUT_THREADS
- const struct timespec timeout = {0, 0};
- while(tree->token_last_done != token_for_wait) {myhtml_thread_nanosleep(&timeout);}
+ while(tree->token_last_done != token_for_wait) {mythread_nanosleep_sleep(tree->myhtml->thread_stream->timespec);}
#endif
}
/* special tonek list */
-myhtml_status_t myhtml_tree_special_list_init(myhtml_tree_special_token_list_t* special)
+mystatus_t myhtml_tree_special_list_init(myhtml_tree_special_token_list_t* special)
{
special->size = 1024;
special->length = 0;
- special->list = (myhtml_tree_special_token_t *)myhtml_malloc(special->size * sizeof(myhtml_tree_special_token_t));
+ special->list = (myhtml_tree_special_token_t *)mycore_malloc(special->size * sizeof(myhtml_tree_special_token_t));
if(special->list == NULL)
return MyHTML_STATUS_ERROR_MEMORY_ALLOCATION;
@@ -2572,23 +2476,23 @@ myhtml_tree_special_token_list_t * myhtml_tree_special_list_destroy(myhtml_tree_
return NULL;
if(special->list) {
- myhtml_free(special->list);
+ mycore_free(special->list);
special->list = NULL;
}
if(self_destroy) {
- myhtml_free(special);
+ mycore_free(special);
return NULL;
}
return special;
}
-myhtml_status_t myhtml_tree_special_list_append(myhtml_tree_special_token_list_t* special, myhtml_token_node_t *token, myhtml_namespace_t ns)
+mystatus_t myhtml_tree_special_list_append(myhtml_tree_special_token_list_t* special, myhtml_token_node_t *token, myhtml_namespace_t ns)
{
if(special->length >= special->size) {
size_t nsize = special->size << 1;
- myhtml_tree_special_token_t *tmp = (myhtml_tree_special_token_t *)myhtml_realloc(special->list, nsize * sizeof(myhtml_tree_special_token_t));
+ myhtml_tree_special_token_t *tmp = (myhtml_tree_special_token_t *)mycore_realloc(special->list, nsize * sizeof(myhtml_tree_special_token_t));
if(tmp) {
special->size = nsize;
@@ -2628,14 +2532,14 @@ myhtml_tree_special_token_t * myhtml_tree_special_list_get_last(myhtml_tree_spec
}
/* incoming buffer */
-myhtml_incoming_buffer_t * myhtml_tree_incoming_buffer_first(myhtml_tree_t *tree)
+mycore_incoming_buffer_t * myhtml_tree_incoming_buffer_first(myhtml_tree_t *tree)
{
return tree->incoming_buf_first;
}
const char * myhtml_tree_incomming_buffer_make_data(myhtml_tree_t *tree, size_t begin, size_t length)
{
- myhtml_incoming_buffer_t *buffer = myhtml_incoming_buffer_find_by_position(tree->incoming_buf_first, begin);
+ mycore_incoming_buffer_t *buffer = mycore_incoming_buffer_find_by_position(tree->incoming_buf_first, begin);
size_t relative_begin = begin - buffer->offset;
if((relative_begin + length) <= buffer->size) {