mirror of
https://github.com/3lswear/webserv.git
synced 2025-10-29 05:17:59 +03:00
feat: working parser with TOML maparray
This commit is contained in:
@@ -281,8 +281,9 @@ namespace config
|
|||||||
}
|
}
|
||||||
full_name.push_back(name);
|
full_name.push_back(name);
|
||||||
|
|
||||||
/* for (size_t i = 0; i < full_name.size(); i++) */
|
for (size_t i = 0; i < full_name.size(); i++)
|
||||||
/* std::cout << full_name[i] << std::endl; */
|
std::cout << full_name[i] << ", ";
|
||||||
|
std::cout << std::endl;
|
||||||
|
|
||||||
/* throw std::logic_error("tha end"); */
|
/* throw std::logic_error("tha end"); */
|
||||||
TOMLMap *local_root;
|
TOMLMap *local_root;
|
||||||
@@ -300,7 +301,7 @@ namespace config
|
|||||||
TOMLMapArray *map_array = new TOMLMapArray;
|
TOMLMapArray *map_array = new TOMLMapArray;
|
||||||
map_array->push_back(map_node->getMap());
|
map_array->push_back(map_node->getMap());
|
||||||
maparr_node->setMapArray(map_array);
|
maparr_node->setMapArray(map_array);
|
||||||
(*local_root)[name] = maparr_node;
|
(*local_root)[*subname] = maparr_node;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
(it->second)->getMapArray()->push_back(map_node->getMap());
|
(it->second)->getMapArray()->push_back(map_node->getMap());
|
||||||
@@ -308,9 +309,23 @@ namespace config
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
map
|
it = local_root->find(*subname);
|
||||||
TOMLMap *new_map = new TOMLMap;
|
|
||||||
|
|
||||||
|
toml_node *map_node2;
|
||||||
|
map_node2 = new toml_node;
|
||||||
|
TOMLMap *map = new TOMLMap;
|
||||||
|
map_node2->setObject(map);
|
||||||
|
/* subname not found in local_root */
|
||||||
|
if (it == local_root->end())
|
||||||
|
{
|
||||||
|
(*local_root)[*subname] = map_node2;
|
||||||
|
local_root = map;
|
||||||
|
}
|
||||||
|
/* subname found in local_root */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
local_root = *((it->second)->getMapArray()->end() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
++subname;
|
++subname;
|
||||||
|
|||||||
Reference in New Issue
Block a user