Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
CuriousGeorgiy committed Nov 19, 2023
1 parent dbeb464 commit d5479ce
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
6 changes: 5 additions & 1 deletion src/Client/ResponseDecoder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,13 @@ parseGreeting(std::string_view raw, Greeting &greeting) {
if (line1.substr(0, name.size()) != name)
return -1;
std::string_view version_etc = line1.substr(name.size());
version_etc = version_etc.substr(0, version_etc.find_first_of(' '));
char version[32];
assert(version_etc.size() + 1 < sizeof(version));
version[version_etc.copy(version, sizeof(version))] = '\0';
/* Parse a version string */
unsigned major, minor, patch;
if (sscanf(version_etc.data(), "%u.%u.%u", &major, &minor, &patch) != 3)
if (sscanf(version, "%u.%u.%u", &major, &minor, &patch) != 3)
return -1;
greeting.version_id = versionId(major, minor, patch);

Expand Down
17 changes: 10 additions & 7 deletions test/ListUnitTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ struct Object : tnt::SingleLink<Object>
{
int m_Data;

Object() : m_Data(0)
{
}

Object(int id) : m_Data(id)
{
}
Expand Down Expand Up @@ -1028,6 +1032,7 @@ void test_massive()
std::vector<int> sReference;
const size_t ITER_COUNT = 100000;
const size_t SIZE_LIM = 10;
std::array<Object, ITER_COUNT> objects = {};
for (size_t i = 0; i < ITER_COUNT; i++) {
bool sAdd = true;
if (sReference.size() == SIZE_LIM)
Expand All @@ -1037,20 +1042,18 @@ void test_massive()
bool sBegin = (rand() & 1) == 0;
if (sAdd) {
int sValue = rand();
Object *sObj = new Object(sValue);
objects[i].m_Data = sValue;
if (sBegin) {
list.insert(*sObj);
list.insert(objects[i]);
sReference.insert(sReference.begin(), sValue);
} else {
list.insert(*sObj, true);
list.insert(objects[i], true);
sReference.insert(sReference.end(), sValue);
}
} else {
if (sBegin) {
delete &list.front();
sReference.erase(sReference.begin());
} else {
delete &list.back();
sReference.pop_back();
}
}
Expand Down Expand Up @@ -1162,12 +1165,12 @@ void test_multilinik_round()
bool red_before = 0 != (r & 1);
bool green_before = 0 != (r & 2);
bool blue_before = 0 != (r & 4);
objects.emplace_back(id, near,
red_before, green_before, blue_before);

expected_insert_near(expected_red, red_before, near.m_Data, id);
expected_insert_near(expected_green, green_before, near.m_Data, id);
expected_insert_near(expected_blue, blue_before, near.m_Data, id);

objects.emplace_back(id, near, red_before, green_before, blue_before);
};

auto insert_to_list = [&]() {
Expand Down

0 comments on commit d5479ce

Please sign in to comment.