REFACTOR: Error debugging for most functions

This commit is contained in:
2026-09-17 08:10:52 -04:00
parent db5f00804e
commit f1d5962442
3 changed files with 45 additions and 32 deletions
+1 -1
View File
@@ -53,7 +53,7 @@ max_size(const Vec8_t* ptr);
void delete (const Vec8_t* vec);
Vec8_t
clear(Vec8_t* vec);
clear(const Vec8_t* vec);
char
at(const Vec8_t* vec, int idx);
+20 -17
View File
@@ -48,6 +48,7 @@ push_back(Vec8_t* vec, const char val)
if (!vec->arr)
{
LOGERROR(ERR_BUF_NULL);
LOG("If you think this is wrong, reserve memory first");
return dst;
}
if (vec->size + 1 > vec->max_size)
@@ -149,13 +150,12 @@ shrink_to_fit(Vec8_t* ptr)
int
swap(Vec8_t* ptr, Vec8_t* ptr_other)
{
Vec8_t empty = create(nullptr, 0);
if (ptr == nullptr || ptr_other == nullptr) return 0;
if (ptr->arr == nullptr || ptr_other->arr == nullptr) return 0;
Vec8_t empty = create(nullptr, -1);
if (ptr == nullptr || ptr_other == nullptr || ptr->arr == nullptr ||
ptr_other->arr == nullptr)
return 0;
empty.arr = ptr->arr;
ptr->arr = nullptr;
ptr->arr = ptr_other->arr;
ptr_other->arr = nullptr;
ptr_other->arr = empty.arr;
if (ptr != nullptr && ptr_other != nullptr)
{
@@ -202,18 +202,23 @@ delete(const Vec8_t* vec)
}
Vec8_t
clear(Vec8_t* vec)
clear(const Vec8_t* vec)
{
if (vec != nullptr && vec->size > 0)
Vec8_t dst = create(nullptr, -1);
if (!vec && !vec->arr)
{
return dst;
}
dst.arr = vec->arr;
if (vec->size > 0)
{
for (int i = 0; i < vec->size; i++)
{
if (!vec->arr) continue;
vec->arr[i] = 0;
dst.arr[i] = 0;
}
vec->size = 0;
dst.size = 0;
}
return *vec;
return dst;
}
char
@@ -221,11 +226,13 @@ at(const Vec8_t* vec, const int idx)
{
if (vec == nullptr)
{
return -2;
LOGERROR(ERR_VECTOR_NULL);
return ERR_VECTOR_NULL;
}
if (vec->arr == nullptr)
{
return -3;
LOGERROR(ERR_BUF_NULL);
return ERR_BUF_NULL;
}
if (vec->size <= idx)
{
@@ -235,12 +242,8 @@ at(const Vec8_t* vec, const int idx)
exit(-4);
// return -4;
}
if (vec != nullptr && vec->arr != nullptr && vec->size > idx)
{
return vec->arr[idx];
}
return -1;
}
__attribute__((overloadable)) Vec8_t*
erase(Vec8_t* vec, const size_t iter)
+23 -13
View File
@@ -22,21 +22,31 @@
int
main()
{
char arr[] = { 'a' };
// Vec8_t v1 = create(arr, find_len(arr));
// Vec8_t v1 = create((char[]) { 'a', 'b', 'c', 'd' }, 4);
Vec8_t v1 = create(nullptr, 0);
char arr[] = { '1', '2', '3', '4' };
Vec8_t v1 = create(arr, find_len(arr));
Vec8_t v2 = create((char[]) { 'a', 'b', 'c', 'd' }, 4);
print_vec(&v1);
print_vec(&v2);
if (swap(&v1, &v2))
{
print_vec(&v1);
print_vec(&v2);
}
// Vec8_t v1 = create(nullptr, 0);
// v1 = reserve(&v1, 10);
// v1 = pop_back(&v1);
for (int i = 0; i < 10; i++)
{
v1 = push_back(&v1, 'a');
}
print_vec(&v1);
printf("SIZE: %zu\n", v1.size);
v1 = push_back(&v1, 'a');
print_vec(&v1);
printf("SIZE: %zu\n", v1.size);
// for (int i = 0; i < 10; i++)
// {
// v1 = push_back(&v1, 'a');
// }
// print_vec(&v1);
// printf("SIZE: %zu\n", v1.size);
// v1 = push_back(&v1, 'a');
// print_vec(&v1);
// printf("SIZE: %zu\n", v1.size);
delete(&v1);
delete(&v2);
return 0;
}