Style change for null checking

Now "if (var == NULL)" is "if (!var)" and "if (var != NULL)" is "if (var)".
This commit is contained in:
Bailey Thompson
2018-01-02 13:50:21 -05:00
committed by GitHub
parent 2dd0b78826
commit 1338cf3dcb
16 changed files with 272 additions and 273 deletions

View File

@@ -42,13 +42,13 @@ struct _array {
array array_init(const int element_count, const size_t data_size)
{
struct _array *const init = malloc(sizeof(struct _array));
if (init == NULL) {
if (!init) {
return NULL;
}
init->data_size = data_size;
init->element_count = element_count;
init->data = calloc((size_t) element_count, data_size);
if (init->data == NULL) {
if (!init->data) {
free(init);
return NULL;
}

View File

@@ -51,7 +51,7 @@ struct node {
deque deque_init(const size_t data_size)
{
struct _deque *const init = malloc(sizeof(struct _deque));
if (init == NULL) {
if (!init) {
return NULL;
}
init->data_size = data_size;
@@ -59,13 +59,13 @@ deque deque_init(const size_t data_size)
init->end_index = init->start_index + 1;
init->block_count = 1;
init->block = malloc(sizeof(struct node));
if (init->block == NULL) {
if (!init->block) {
free(init);
return NULL;
}
struct node *const block = init->block;
block->data = malloc(BLOCK_SIZE * init->data_size);
if (block->data == NULL) {
if (!block->data) {
free(init->block);
free(init);
return NULL;
@@ -114,7 +114,7 @@ int deque_trim(deque me)
const int end_block = me->end_index / BLOCK_SIZE;
const int new_block_count = end_block - start_block + 1;
void *const new_block = malloc(new_block_count * sizeof(struct node));
if (new_block == NULL) {
if (!new_block) {
return -ENOMEM;
}
for (int i = 0; i < start_block; i++) {
@@ -172,7 +172,7 @@ int deque_push_front(deque me, void *const data)
const int added_blocks = new_block_count - old_block_count;
void *temp = realloc(me->block,
new_block_count * sizeof(struct node));
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
me->block = temp;
@@ -189,9 +189,9 @@ int deque_push_front(deque me, void *const data)
}
}
struct node *const block_item = &me->block[block_index];
if (block_item->data == NULL) {
if (!block_item->data) {
block_item->data = malloc(BLOCK_SIZE * me->data_size);
if (block_item->data == NULL) {
if (!block_item->data) {
return -ENOMEM;
}
}
@@ -221,7 +221,7 @@ int deque_push_back(deque me, void *const data)
(int) ceil(RESIZE_RATIO * me->block_count);
void *temp = realloc(me->block,
new_block_count * sizeof(struct node));
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
me->block = temp;
@@ -232,9 +232,9 @@ int deque_push_back(deque me, void *const data)
}
}
struct node *const block_item = &me->block[block_index];
if (block_item->data == NULL) {
if (!block_item->data) {
block_item->data = malloc(BLOCK_SIZE * me->data_size);
if (block_item->data == NULL) {
if (!block_item->data) {
return -ENOMEM;
}
}
@@ -402,11 +402,11 @@ int deque_get_last(void *const data, deque me)
int deque_clear(deque me)
{
struct node *const temp_block = malloc(sizeof(struct node));
if (temp_block == NULL) {
if (!temp_block) {
return -ENOMEM;
}
void *const temp_block_data = malloc(BLOCK_SIZE * me->data_size);
if (temp_block_data == NULL) {
if (!temp_block_data) {
free(temp_block);
return -ENOMEM;
}

View File

@@ -46,7 +46,7 @@ struct node {
forward_list forward_list_init(const size_t data_size)
{
struct _forward_list *const init = malloc(sizeof(struct _forward_list));
if (init == NULL) {
if (!init) {
return NULL;
}
init->data_size = data_size;
@@ -89,7 +89,7 @@ void forward_list_copy_to_array(void *const arr, forward_list me)
{
struct node *traverse = me->head;
int offset = 0;
while (traverse != NULL) {
while (traverse) {
memcpy(arr + offset, traverse->data, me->data_size);
offset += me->data_size;
traverse = traverse->next;
@@ -139,11 +139,11 @@ int forward_list_add_at(forward_list me, const int index, void *const data)
return -EINVAL;
}
struct node *const add = malloc(sizeof(struct node));
if (add == NULL) {
if (!add) {
return -ENOMEM;
}
add->data = malloc(me->data_size);
if (add->data == NULL) {
if (!add->data) {
free(add);
return -ENOMEM;
}
@@ -347,7 +347,7 @@ int forward_list_get_last(void *const data, forward_list me)
void forward_list_clear(forward_list me)
{
struct node *traverse = me->head;
while (traverse != NULL) {
while (traverse) {
struct node *const temp = traverse;
traverse = traverse->next;
free(temp->data);

View File

@@ -48,7 +48,7 @@ struct node {
list list_init(const size_t data_size)
{
struct _list *const init = malloc(sizeof(struct _list));
if (init == NULL) {
if (!init) {
return NULL;
}
init->data_size = data_size;
@@ -92,7 +92,7 @@ void list_copy_to_array(void *const arr, list me)
{
struct node *traverse = me->head;
int offset = 0;
while (traverse != NULL) {
while (traverse) {
memcpy(arr + offset, traverse->data, me->data_size);
offset += me->data_size;
traverse = traverse->next;
@@ -148,22 +148,22 @@ int list_add_first(list me, void *const data)
{
struct node *const traverse = me->head;
struct node *const add = malloc(sizeof(struct node));
if (add == NULL) {
if (!add) {
return -ENOMEM;
}
add->data = malloc(me->data_size);
if (add->data == NULL) {
if (!add->data) {
free(add);
return -ENOMEM;
}
add->prev = NULL;
memcpy(add->data, data, me->data_size);
add->next = traverse;
if (traverse != NULL) {
if (traverse) {
traverse->prev = add;
}
me->head = add;
if (me->tail == NULL) {
if (!me->tail) {
me->tail = traverse;
}
me->space++;
@@ -195,11 +195,11 @@ int list_add_at(list me, const int index, void *const data)
// The new node will go right before this node.
struct node *const traverse = list_get_node_at(me, index);
struct node *const add = malloc(sizeof(struct node));
if (add == NULL) {
if (!add) {
return -ENOMEM;
}
add->data = malloc(me->data_size);
if (add->data == NULL) {
if (!add->data) {
free(add);
return -ENOMEM;
}
@@ -225,18 +225,18 @@ int list_add_last(list me, void *const data)
{
struct node *const traverse = me->tail;
struct node *const add = malloc(sizeof(struct node));
if (add == NULL) {
if (!add) {
return -ENOMEM;
}
add->data = malloc(me->data_size);
if (add->data == NULL) {
if (!add->data) {
free(add);
return -ENOMEM;
}
add->prev = traverse;
memcpy(add->data, data, me->data_size);
add->next = NULL;
if (traverse != NULL) {
if (traverse) {
traverse->next = add;
}
me->tail = add;
@@ -413,7 +413,7 @@ int list_get_last(void *const data, list me)
void list_clear(list me)
{
struct node *traverse = me->head;
while (traverse != NULL) {
while (traverse) {
struct node *const temp = traverse;
traverse = traverse->next;
free(temp->data);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017 Bailey Thompson
* Copyright (c) 2017-2018 Bailey Thompson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -57,7 +57,7 @@ map map_init(const size_t key_size,
int (*const comparator)(const void *const, const void *const))
{
struct _map *const init = malloc(sizeof(struct _map));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -100,7 +100,7 @@ static void map_reference_parent(map me,
struct node *const child)
{
child->parent = parent->parent;
if (parent->parent == NULL) {
if (!parent->parent) {
me->root = child;
} else if (parent->parent->left == parent) {
parent->parent->left = child;
@@ -118,7 +118,7 @@ static void map_rotate_left(map me,
{
map_reference_parent(me, parent, child);
struct node *const grand_child = child->left;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -135,7 +135,7 @@ static void map_rotate_right(map me,
{
map_reference_parent(me, parent, child);
struct node *const grand_child = child->right;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -217,7 +217,7 @@ static void map_insert_balance(map me, struct node *const item)
struct node *grand_child = NULL;
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance--;
} else {
@@ -248,19 +248,19 @@ static struct node *map_create_node(map me,
struct node *const parent)
{
struct node *const insert = malloc(sizeof(struct node));
if (insert == NULL) {
if (!insert) {
return NULL;
}
insert->parent = parent;
insert->balance = 0;
insert->key = malloc(me->key_size);
if (insert->key == NULL) {
if (!insert->key) {
free(insert);
return NULL;
}
memcpy(insert->key, key, me->key_size);
insert->value = malloc(me->value_size);
if (insert->value == NULL) {
if (!insert->value) {
free(insert->key);
free(insert);
return NULL;
@@ -285,9 +285,9 @@ static struct node *map_create_node(map me,
*/
int map_put(map me, void *const key, void *const value)
{
if (me->root == NULL) {
if (!me->root) {
struct node *insert = map_create_node(me, key, value, NULL);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
me->root = insert;
@@ -297,11 +297,11 @@ int map_put(map me, void *const key, void *const value)
while (true) {
const int compare = me->comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
struct node *insert = map_create_node(me, key, value, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->left = insert;
@@ -309,11 +309,11 @@ int map_put(map me, void *const key, void *const value)
return 0;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
struct node *insert = map_create_node(me, key, value, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->right = insert;
@@ -333,19 +333,19 @@ int map_put(map me, void *const key, void *const value)
static struct node *map_equal_match(map me, const void *const key)
{
struct node *traverse = me->root;
if (traverse == NULL) {
if (!traverse) {
return false;
}
while (true) {
const int compare = me->comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
return NULL;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
return NULL;
@@ -368,7 +368,7 @@ static struct node *map_equal_match(map me, const void *const key)
bool map_get(void *const value, map me, void *const key)
{
struct node *const traverse = map_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
memcpy(value, traverse->value, me->value_size);
@@ -420,13 +420,13 @@ static void map_delete_balance(map me,
// Must re-balance if not in {-1, 0, 1}
if (item->balance > 1 || item->balance < -1) {
item = map_repair_pivot(me, item, is_left_deleted);
if (item->parent == NULL || item->balance == -1 || item->balance == 1) {
if (!item->parent || item->balance == -1 || item->balance == 1) {
return;
}
}
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance++;
} else {
@@ -442,7 +442,7 @@ static void map_delete_balance(map me,
parent = child->parent;
// If balance is -1 or +1 after modification or the parent is NULL,
// then the tree is balanced.
if (parent == NULL || child->balance == -1 || child->balance == 1) {
if (!parent || child->balance == -1 || child->balance == 1) {
return;
}
} else {
@@ -459,7 +459,7 @@ static void map_remove_no_children(map me, const struct node *const traverse)
{
struct node *const parent = traverse->parent;
// If no parent and no children, then the only node is traverse.
if (parent == NULL) {
if (!parent) {
me->root = NULL;
return;
}
@@ -480,8 +480,8 @@ static void map_remove_one_child(map me, const struct node *const traverse)
{
struct node *const parent = traverse->parent;
// If no parent, make the child of traverse the new root.
if (parent == NULL) {
if (traverse->left != NULL) {
if (!parent) {
if (traverse->left) {
traverse->left->parent = NULL;
me->root = traverse->left;
} else {
@@ -492,7 +492,7 @@ static void map_remove_one_child(map me, const struct node *const traverse)
}
// The parent of traverse now references the child of traverse.
if (parent->left == traverse) {
if (traverse->left != NULL) {
if (traverse->left) {
parent->left = traverse->left;
traverse->left->parent = parent;
} else {
@@ -501,7 +501,7 @@ static void map_remove_one_child(map me, const struct node *const traverse)
}
map_delete_balance(me, parent, true);
} else {
if (traverse->left != NULL) {
if (traverse->left) {
parent->right = traverse->left;
traverse->left->parent = parent;
} else {
@@ -529,13 +529,13 @@ static void map_remove_two_children(map me, const struct node *const traverse)
item->left->parent = item;
} else {
item = traverse->right->left;
while (item->left != NULL) {
while (item->left) {
item = item->left;
}
parent = item->parent;
item->balance = traverse->balance;
item->parent->left = item->right;
if (item->right != NULL) {
if (item->right) {
item->right->parent = item->parent;
}
item->left = traverse->left;
@@ -544,7 +544,7 @@ static void map_remove_two_children(map me, const struct node *const traverse)
item->right->parent = item;
item->parent = traverse->parent;
}
if (traverse->parent == NULL) {
if (!traverse->parent) {
me->root = item;
} else if (traverse->parent->left == traverse) {
item->parent->left = item;
@@ -559,9 +559,9 @@ static void map_remove_two_children(map me, const struct node *const traverse)
*/
static void map_remove_element(map me, struct node *const traverse)
{
if (traverse->left == NULL && traverse->right == NULL) {
if (!traverse->left && !traverse->right) {
map_remove_no_children(me, traverse);
} else if (traverse->left == NULL || traverse->right == NULL) {
} else if (!traverse->left || !traverse->right) {
map_remove_one_child(me, traverse);
} else {
map_remove_two_children(me, traverse);
@@ -583,7 +583,7 @@ static void map_remove_element(map me, struct node *const traverse)
bool map_remove(map me, void *const key)
{
struct node *const traverse = map_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
map_remove_element(me, traverse);
@@ -597,7 +597,7 @@ bool map_remove(map me, void *const key)
*/
void map_clear(map me)
{
while (me->root != NULL) {
while (me->root) {
map_remove_element(me, me->root);
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017 Bailey Thompson
* Copyright (c) 2017-2018 Bailey Thompson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -69,7 +69,7 @@ multimap multimap_init(const size_t key_size,
const void *const))
{
struct _multimap *const init = malloc(sizeof(struct _multimap));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -114,7 +114,7 @@ static void multimap_reference_parent(multimap me,
struct node *const child)
{
child->parent = parent->parent;
if (parent->parent == NULL) {
if (!parent->parent) {
me->root = child;
} else if (parent->parent->left == parent) {
parent->parent->left = child;
@@ -132,7 +132,7 @@ static void multimap_rotate_left(multimap me,
{
multimap_reference_parent(me, parent, child);
struct node *const grand_child = child->left;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -149,7 +149,7 @@ static void multimap_rotate_right(multimap me,
{
multimap_reference_parent(me, parent, child);
struct node *const grand_child = child->right;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -231,7 +231,7 @@ static void multimap_insert_balance(multimap me, struct node *const item)
struct node *grand_child = NULL;
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance--;
} else {
@@ -260,11 +260,11 @@ static struct value_node *multimap_create_value_node(multimap me,
const void *const value)
{
struct value_node *const add = malloc(sizeof(struct value_node));
if (add == NULL) {
if (!add) {
return NULL;
}
add->value = malloc(me->value_size);
if (add->value == NULL) {
if (!add->value) {
free(add);
return NULL;
}
@@ -282,20 +282,20 @@ static struct node *multimap_create_node(multimap me,
struct node *const parent)
{
struct node *const insert = malloc(sizeof(struct node));
if (insert == NULL) {
if (!insert) {
return NULL;
}
insert->parent = parent;
insert->balance = 0;
insert->key = malloc(me->key_size);
if (insert->key == NULL) {
if (!insert->key) {
free(insert);
return NULL;
}
memcpy(insert->key, key, me->key_size);
insert->value_count = 1;
insert->head = multimap_create_value_node(me, value);
if (insert->head == NULL) {
if (!insert->head) {
free(insert->key);
free(insert);
return NULL;
@@ -318,9 +318,9 @@ static struct node *multimap_create_node(multimap me,
*/
int multimap_put(multimap me, void *const key, void *const value)
{
if (me->root == NULL) {
if (!me->root) {
struct node *insert = multimap_create_node(me, key, value, NULL);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
me->root = insert;
@@ -330,12 +330,12 @@ int multimap_put(multimap me, void *const key, void *const value)
while (true) {
const int compare = me->key_comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
struct node *insert =
multimap_create_node(me, key, value, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->left = insert;
@@ -343,12 +343,12 @@ int multimap_put(multimap me, void *const key, void *const value)
return 0;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
struct node *insert =
multimap_create_node(me, key, value, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->right = insert;
@@ -357,7 +357,7 @@ int multimap_put(multimap me, void *const key, void *const value)
}
} else {
struct value_node *value_traverse = traverse->head;
while (value_traverse->next != NULL) {
while (value_traverse->next) {
value_traverse = value_traverse->next;
}
value_traverse->next = multimap_create_value_node(me, value);
@@ -374,19 +374,19 @@ int multimap_put(multimap me, void *const key, void *const value)
static struct node *multimap_equal_match(multimap me, const void *const key)
{
struct node *traverse = me->root;
if (traverse == NULL) {
if (!traverse) {
return false;
}
while (true) {
const int compare = me->key_comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
return NULL;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
return NULL;
@@ -408,7 +408,7 @@ static struct node *multimap_equal_match(multimap me, const void *const key)
void multimap_get_start(multimap me, void *const key)
{
const struct node *const traverse = multimap_equal_match(me, key);
if (traverse != NULL) {
if (traverse) {
me->iterate_get = traverse->head;
}
}
@@ -425,7 +425,7 @@ void multimap_get_start(multimap me, void *const key)
*/
bool multimap_get_next(void *const value, multimap me)
{
if (me->iterate_get == NULL) {
if (!me->iterate_get) {
return false;
}
const struct value_node *const item = me->iterate_get;
@@ -445,7 +445,7 @@ bool multimap_get_next(void *const value, multimap me)
int multimap_count(multimap me, void *const key)
{
struct node *const traverse = multimap_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return 0;
}
return traverse->value_count;
@@ -496,13 +496,13 @@ static void multimap_delete_balance(multimap me,
// Must re-balance if not in {-1, 0, 1}
if (item->balance > 1 || item->balance < -1) {
item = multimap_repair_pivot(me, item, is_left_deleted);
if (item->parent == NULL || item->balance == -1 || item->balance == 1) {
if (!item->parent || item->balance == -1 || item->balance == 1) {
return;
}
}
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance++;
} else {
@@ -518,7 +518,7 @@ static void multimap_delete_balance(multimap me,
parent = child->parent;
// If balance is -1 or +1 after modification or the parent is NULL,
// then the tree is balanced.
if (parent == NULL || child->balance == -1 || child->balance == 1) {
if (!parent || child->balance == -1 || child->balance == 1) {
return;
}
} else {
@@ -536,7 +536,7 @@ static void multimap_remove_no_children(multimap me,
{
struct node *const parent = traverse->parent;
// If no parent and no children, then the only node is traverse.
if (parent == NULL) {
if (!parent) {
me->root = NULL;
return;
}
@@ -558,8 +558,8 @@ static void multimap_remove_one_child(multimap me,
{
struct node *const parent = traverse->parent;
// If no parent, make the child of traverse the new root.
if (parent == NULL) {
if (traverse->left != NULL) {
if (!parent) {
if (traverse->left) {
traverse->left->parent = NULL;
me->root = traverse->left;
} else {
@@ -570,7 +570,7 @@ static void multimap_remove_one_child(multimap me,
}
// The parent of traverse now references the child of traverse.
if (parent->left == traverse) {
if (traverse->left != NULL) {
if (traverse->left) {
parent->left = traverse->left;
traverse->left->parent = parent;
} else {
@@ -579,7 +579,7 @@ static void multimap_remove_one_child(multimap me,
}
multimap_delete_balance(me, parent, true);
} else {
if (traverse->left != NULL) {
if (traverse->left) {
parent->right = traverse->left;
traverse->left->parent = parent;
} else {
@@ -608,13 +608,13 @@ static void multimap_remove_two_children(multimap me,
item->left->parent = item;
} else {
item = traverse->right->left;
while (item->left != NULL) {
while (item->left) {
item = item->left;
}
parent = item->parent;
item->balance = traverse->balance;
item->parent->left = item->right;
if (item->right != NULL) {
if (item->right) {
item->right->parent = item->parent;
}
item->left = traverse->left;
@@ -623,7 +623,7 @@ static void multimap_remove_two_children(multimap me,
item->right->parent = item;
item->parent = traverse->parent;
}
if (traverse->parent == NULL) {
if (!traverse->parent) {
me->root = item;
} else if (traverse->parent->left == traverse) {
item->parent->left = item;
@@ -638,9 +638,9 @@ static void multimap_remove_two_children(multimap me,
*/
static void multimap_remove_element(multimap me, struct node *const traverse)
{
if (traverse->left == NULL && traverse->right == NULL) {
if (!traverse->left && !traverse->right) {
multimap_remove_no_children(me, traverse);
} else if (traverse->left == NULL || traverse->right == NULL) {
} else if (!traverse->left || !traverse->right) {
multimap_remove_one_child(me, traverse);
} else {
multimap_remove_two_children(me, traverse);
@@ -661,7 +661,7 @@ static void multimap_remove_element(multimap me, struct node *const traverse)
bool multimap_remove(multimap me, void *const key, void *const value)
{
struct node *const traverse = multimap_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
struct value_node *current = traverse->head;
@@ -670,12 +670,11 @@ bool multimap_remove(multimap me, void *const key, void *const value)
} else {
struct value_node *previous = current;
current = current->next;
while (current != NULL &&
me->value_comparator(current->value, value) != 0) {
while (current && me->value_comparator(current->value, value) != 0) {
previous = current;
current = current->next;
}
if (current == NULL) {
if (!current) {
return false;
}
previous->next = current->next;
@@ -697,7 +696,7 @@ static void multimap_remove_all_element(multimap me,
struct node *const traverse)
{
struct value_node *value_traverse = traverse->head;
while (value_traverse != NULL) {
while (value_traverse) {
struct value_node *temp = value_traverse;
value_traverse = value_traverse->next;
free(temp->value);
@@ -718,7 +717,7 @@ static void multimap_remove_all_element(multimap me,
bool multimap_remove_all(multimap me, void *const key)
{
struct node *const traverse = multimap_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
multimap_remove_all_element(me, traverse);
@@ -732,7 +731,7 @@ bool multimap_remove_all(multimap me, void *const key)
*/
void multimap_clear(multimap me)
{
while (me->root != NULL) {
while (me->root) {
multimap_remove_all_element(me, me->root);
}
}

View File

@@ -55,7 +55,7 @@ multiset multiset_init(const size_t key_size,
const void *const))
{
struct _multiset *const init = malloc(sizeof(struct _multiset));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -97,7 +97,7 @@ static void multiset_reference_parent(multiset me,
struct node *const child)
{
child->parent = parent->parent;
if (parent->parent == NULL) {
if (!parent->parent) {
me->root = child;
} else if (parent->parent->left == parent) {
parent->parent->left = child;
@@ -115,7 +115,7 @@ static void multiset_rotate_left(multiset me,
{
multiset_reference_parent(me, parent, child);
struct node *const grand_child = child->left;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -132,7 +132,7 @@ static void multiset_rotate_right(multiset me,
{
multiset_reference_parent(me, parent, child);
struct node *const grand_child = child->right;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -214,7 +214,7 @@ static void multiset_insert_balance(multiset me, struct node *const item)
struct node *grand_child = NULL;
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance--;
} else {
@@ -244,14 +244,14 @@ static struct node *multiset_create_node(multiset me,
struct node *const parent)
{
struct node *const insert = malloc(sizeof(struct node));
if (insert == NULL) {
if (!insert) {
return NULL;
}
insert->count = 1;
insert->parent = parent;
insert->balance = 0;
insert->key = malloc(me->key_size);
if (insert->key == NULL) {
if (!insert->key) {
free(insert);
return NULL;
}
@@ -273,9 +273,9 @@ static struct node *multiset_create_node(multiset me,
*/
int multiset_put(multiset me, void *const key)
{
if (me->root == NULL) {
if (!me->root) {
struct node *insert = multiset_create_node(me, key, NULL);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
me->root = insert;
@@ -285,11 +285,11 @@ int multiset_put(multiset me, void *const key)
while (true) {
const int compare = me->comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
struct node *insert = multiset_create_node(me, key, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->left = insert;
@@ -297,11 +297,11 @@ int multiset_put(multiset me, void *const key)
return 0;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
struct node *insert = multiset_create_node(me, key, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->right = insert;
@@ -322,19 +322,19 @@ int multiset_put(multiset me, void *const key)
static struct node *multiset_equal_match(multiset me, const void *const key)
{
struct node *traverse = me->root;
if (traverse == NULL) {
if (!traverse) {
return false;
}
while (true) {
const int compare = me->comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
return NULL;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
return NULL;
@@ -356,7 +356,7 @@ static struct node *multiset_equal_match(multiset me, const void *const key)
int multiset_count(multiset me, void *const key)
{
const struct node *const item = multiset_equal_match(me, key);
if (item == NULL) {
if (!item) {
return 0;
}
return item->count;
@@ -407,13 +407,13 @@ static void multiset_delete_balance(multiset me,
// Must re-balance if not in {-1, 0, 1}
if (item->balance > 1 || item->balance < -1) {
item = multiset_repair_pivot(me, item, is_left_deleted);
if (item->parent == NULL || item->balance == -1 || item->balance == 1) {
if (!item->parent || item->balance == -1 || item->balance == 1) {
return;
}
}
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance++;
} else {
@@ -429,7 +429,7 @@ static void multiset_delete_balance(multiset me,
parent = child->parent;
// If balance is -1 or +1 after modification or the parent is NULL,
// then the tree is balanced.
if (parent == NULL || child->balance == -1 || child->balance == 1) {
if (!parent || child->balance == -1 || child->balance == 1) {
return;
}
} else {
@@ -447,7 +447,7 @@ static void multiset_remove_no_children(multiset me,
{
struct node *const parent = traverse->parent;
// If no parent and no children, then the only node is traverse.
if (parent == NULL) {
if (!parent) {
me->root = NULL;
return;
}
@@ -469,8 +469,8 @@ static void multiset_remove_one_child(multiset me,
{
struct node *const parent = traverse->parent;
// If no parent, make the child of traverse the new root.
if (parent == NULL) {
if (traverse->left != NULL) {
if (!parent) {
if (traverse->left) {
traverse->left->parent = NULL;
me->root = traverse->left;
} else {
@@ -481,7 +481,7 @@ static void multiset_remove_one_child(multiset me,
}
// The parent of traverse now references the child of traverse.
if (parent->left == traverse) {
if (traverse->left != NULL) {
if (traverse->left) {
parent->left = traverse->left;
traverse->left->parent = parent;
} else {
@@ -490,7 +490,7 @@ static void multiset_remove_one_child(multiset me,
}
multiset_delete_balance(me, parent, true);
} else {
if (traverse->left != NULL) {
if (traverse->left) {
parent->right = traverse->left;
traverse->left->parent = parent;
} else {
@@ -519,13 +519,13 @@ static void multiset_remove_two_children(multiset me,
item->left->parent = item;
} else {
item = traverse->right->left;
while (item->left != NULL) {
while (item->left) {
item = item->left;
}
parent = item->parent;
item->balance = traverse->balance;
item->parent->left = item->right;
if (item->right != NULL) {
if (item->right) {
item->right->parent = item->parent;
}
item->left = traverse->left;
@@ -534,7 +534,7 @@ static void multiset_remove_two_children(multiset me,
item->right->parent = item;
item->parent = traverse->parent;
}
if (traverse->parent == NULL) {
if (!traverse->parent) {
me->root = item;
} else if (traverse->parent->left == traverse) {
item->parent->left = item;
@@ -549,9 +549,9 @@ static void multiset_remove_two_children(multiset me,
*/
static void multiset_remove_element(multiset me, struct node *const traverse)
{
if (traverse->left == NULL && traverse->right == NULL) {
if (!traverse->left && !traverse->right) {
multiset_remove_no_children(me, traverse);
} else if (traverse->left == NULL || traverse->right == NULL) {
} else if (!traverse->left || !traverse->right) {
multiset_remove_one_child(me, traverse);
} else {
multiset_remove_two_children(me, traverse);
@@ -571,7 +571,7 @@ static void multiset_remove_element(multiset me, struct node *const traverse)
bool multiset_remove(multiset me, void *const key)
{
struct node *const traverse = multiset_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
traverse->count--;
@@ -593,7 +593,7 @@ bool multiset_remove(multiset me, void *const key)
bool multiset_remove_all(multiset me, void *const key)
{
struct node *const traverse = multiset_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
me->size -= traverse->count;
@@ -608,7 +608,7 @@ bool multiset_remove_all(multiset me, void *const key)
*/
void multiset_clear(multiset me)
{
while (me->root != NULL) {
while (me->root) {
multiset_remove_element(me, me->root);
}
me->size = 0;

View File

@@ -47,12 +47,12 @@ priority_queue priority_queue_init(const size_t data_size,
const void *const))
{
struct _priority_queue *const init = malloc(sizeof(struct _priority_queue));
if (init == NULL) {
if (!init) {
return NULL;
}
init->data_size = data_size;
init->data = vector_init(data_size);
if (init->data == NULL) {
if (!init->data) {
free(init);
return NULL;
}
@@ -96,7 +96,7 @@ bool priority_queue_is_empty(priority_queue me)
int priority_queue_push(priority_queue me, void *const data)
{
void *const temp = malloc(me->data_size);
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
const int rc = vector_add_last(me->data, data);

View File

@@ -42,12 +42,12 @@ struct _queue {
queue queue_init(const size_t data_size)
{
struct _queue *const init = malloc(sizeof(struct _queue));
if (init == NULL) {
if (!init) {
return NULL;
}
init->trim_count = 0;
init->deque_data = deque_init(data_size);
if (init->deque_data == NULL) {
if (!init->deque_data) {
free(init);
return NULL;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017 Bailey Thompson
* Copyright (c) 2017-2018 Bailey Thompson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -52,7 +52,7 @@ set set_init(const size_t key_size,
int (*const comparator)(const void *const, const void *const))
{
struct _set *const init = malloc(sizeof(struct _set));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -94,7 +94,7 @@ static void set_reference_parent(set me,
struct node *const child)
{
child->parent = parent->parent;
if (parent->parent == NULL) {
if (!parent->parent) {
me->root = child;
} else if (parent->parent->left == parent) {
parent->parent->left = child;
@@ -112,7 +112,7 @@ static void set_rotate_left(set me,
{
set_reference_parent(me, parent, child);
struct node *const grand_child = child->left;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -129,7 +129,7 @@ static void set_rotate_right(set me,
{
set_reference_parent(me, parent, child);
struct node *const grand_child = child->right;
if (grand_child != NULL) {
if (grand_child) {
grand_child->parent = parent;
}
parent->parent = child;
@@ -211,7 +211,7 @@ static void set_insert_balance(set me, struct node *const item)
struct node *grand_child = NULL;
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance--;
} else {
@@ -241,13 +241,13 @@ static struct node *set_create_node(set me,
struct node *const parent)
{
struct node *const insert = malloc(sizeof(struct node));
if (insert == NULL) {
if (!insert) {
return NULL;
}
insert->parent = parent;
insert->balance = 0;
insert->key = malloc(me->key_size);
if (insert->key == NULL) {
if (!insert->key) {
free(insert);
return NULL;
}
@@ -269,9 +269,9 @@ static struct node *set_create_node(set me,
*/
int set_put(set me, void *const key)
{
if (me->root == NULL) {
if (!me->root) {
struct node *insert = set_create_node(me, key, NULL);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
me->root = insert;
@@ -281,11 +281,11 @@ int set_put(set me, void *const key)
while (true) {
const int compare = me->comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
struct node *insert = set_create_node(me, key, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->left = insert;
@@ -293,11 +293,11 @@ int set_put(set me, void *const key)
return 0;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
struct node *insert = set_create_node(me, key, traverse);
if (insert == NULL) {
if (!insert) {
return -ENOMEM;
}
traverse->right = insert;
@@ -316,19 +316,19 @@ int set_put(set me, void *const key)
static struct node *set_equal_match(set me, const void *const key)
{
struct node *traverse = me->root;
if (traverse == NULL) {
if (!traverse) {
return false;
}
while (true) {
const int compare = me->comparator(key, traverse->key);
if (compare < 0) {
if (traverse->left != NULL) {
if (traverse->left) {
traverse = traverse->left;
} else {
return NULL;
}
} else if (compare > 0) {
if (traverse->right != NULL) {
if (traverse->right) {
traverse = traverse->right;
} else {
return NULL;
@@ -384,13 +384,13 @@ static void set_delete_balance(set me,
// Must re-balance if not in {-1, 0, 1}
if (item->balance > 1 || item->balance < -1) {
item = set_repair_pivot(me, item, is_left_deleted);
if (item->parent == NULL || item->balance == -1 || item->balance == 1) {
if (!item->parent || item->balance == -1 || item->balance == 1) {
return;
}
}
struct node *child = item;
struct node *parent = item->parent;
while (parent != NULL) {
while (parent) {
if (parent->left == child) {
parent->balance++;
} else {
@@ -406,7 +406,7 @@ static void set_delete_balance(set me,
parent = child->parent;
// If balance is -1 or +1 after modification or the parent is NULL,
// then the tree is balanced.
if (parent == NULL || child->balance == -1 || child->balance == 1) {
if (!parent || child->balance == -1 || child->balance == 1) {
return;
}
} else {
@@ -423,7 +423,7 @@ static void set_remove_no_children(set me, const struct node *const traverse)
{
struct node *const parent = traverse->parent;
// If no parent and no children, then the only node is traverse.
if (parent == NULL) {
if (!parent) {
me->root = NULL;
return;
}
@@ -444,8 +444,8 @@ static void set_remove_one_child(set me, const struct node *const traverse)
{
struct node *const parent = traverse->parent;
// If no parent, make the child of traverse the new root.
if (parent == NULL) {
if (traverse->left != NULL) {
if (!parent) {
if (traverse->left) {
traverse->left->parent = NULL;
me->root = traverse->left;
} else {
@@ -456,7 +456,7 @@ static void set_remove_one_child(set me, const struct node *const traverse)
}
// The parent of traverse now references the child of traverse.
if (parent->left == traverse) {
if (traverse->left != NULL) {
if (traverse->left) {
parent->left = traverse->left;
traverse->left->parent = parent;
} else {
@@ -465,7 +465,7 @@ static void set_remove_one_child(set me, const struct node *const traverse)
}
set_delete_balance(me, parent, true);
} else {
if (traverse->left != NULL) {
if (traverse->left) {
parent->right = traverse->left;
traverse->left->parent = parent;
} else {
@@ -493,13 +493,13 @@ static void set_remove_two_children(set me, const struct node *const traverse)
item->left->parent = item;
} else {
item = traverse->right->left;
while (item->left != NULL) {
while (item->left) {
item = item->left;
}
parent = item->parent;
item->balance = traverse->balance;
item->parent->left = item->right;
if (item->right != NULL) {
if (item->right) {
item->right->parent = item->parent;
}
item->left = traverse->left;
@@ -508,7 +508,7 @@ static void set_remove_two_children(set me, const struct node *const traverse)
item->right->parent = item;
item->parent = traverse->parent;
}
if (traverse->parent == NULL) {
if (!traverse->parent) {
me->root = item;
} else if (traverse->parent->left == traverse) {
item->parent->left = item;
@@ -523,9 +523,9 @@ static void set_remove_two_children(set me, const struct node *const traverse)
*/
static void set_remove_element(set me, struct node *const traverse)
{
if (traverse->left == NULL && traverse->right == NULL) {
if (!traverse->left && !traverse->right) {
set_remove_no_children(me, traverse);
} else if (traverse->left == NULL || traverse->right == NULL) {
} else if (!traverse->left || !traverse->right) {
set_remove_one_child(me, traverse);
} else {
set_remove_two_children(me, traverse);
@@ -546,7 +546,7 @@ static void set_remove_element(set me, struct node *const traverse)
bool set_remove(set me, void *const key)
{
struct node *const traverse = set_equal_match(me, key);
if (traverse == NULL) {
if (!traverse) {
return false;
}
set_remove_element(me, traverse);
@@ -560,7 +560,7 @@ bool set_remove(set me, void *const key)
*/
void set_clear(set me)
{
while (me->root != NULL) {
while (me->root) {
set_remove_element(me, me->root);
}
}

View File

@@ -39,11 +39,11 @@ struct _stack {
stack stack_init(const size_t data_size)
{
struct _stack *const init = malloc(sizeof(struct _stack));
if (init == NULL) {
if (!init) {
return NULL;
}
init->deque_data = deque_init(data_size);
if (init->deque_data == NULL) {
if (!init->deque_data) {
free(init);
return NULL;
}

View File

@@ -65,7 +65,7 @@ unordered_map unordered_map_init(const size_t key_size,
const void *const))
{
struct _unordered_map *const init = malloc(sizeof(struct _unordered_map));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -75,7 +75,7 @@ unordered_map unordered_map_init(const size_t key_size,
init->size = 0;
init->capacity = STARTING_BUCKETS;
init->buckets = calloc(STARTING_BUCKETS, sizeof(struct node *));
if (init->buckets == NULL) {
if (!init->buckets) {
free(init);
return NULL;
}
@@ -89,12 +89,12 @@ static void unordered_map_add_item(unordered_map me, struct node *const add)
{
const int index = (int) (add->hash % me->capacity);
add->next = NULL;
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = add;
return;
}
struct node *traverse = me->buckets[index];
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
}
traverse->next = add;
@@ -113,13 +113,13 @@ int unordered_map_rehash(unordered_map me)
{
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) me->capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
traverse->hash = me->hash(traverse->key);
unordered_map_add_item(me, traverse);
@@ -163,14 +163,14 @@ static int unordered_map_resize(unordered_map me)
const int new_capacity = (int) (me->capacity * RESIZE_RATIO);
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) new_capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
me->capacity = new_capacity;
for (int i = 0; i < old_capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
unordered_map_add_item(me, traverse);
traverse = backup;
@@ -200,17 +200,17 @@ static struct node *const unordered_map_create_element(unordered_map me,
const void *const value)
{
struct node *const init = malloc(sizeof(struct node));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key = malloc(me->key_size);
if (init->key == NULL) {
if (!init->key) {
free(init);
return NULL;
}
memcpy(init->key, key, me->key_size);
init->value = malloc(me->value_size);
if (init->value == NULL) {
if (!init->value) {
free(init->key);
free(init);
return NULL;
@@ -237,9 +237,9 @@ int unordered_map_put(unordered_map me, void *const key, void *const value)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = unordered_map_create_element(me, hash, key, value);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return -ENOMEM;
}
} else {
@@ -248,7 +248,7 @@ int unordered_map_put(unordered_map me, void *const key, void *const value)
memcpy(traverse->value, value, me->value_size);
return 0;
}
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
if (unordered_map_is_equal(me, traverse, hash, key)) {
memcpy(traverse->value, value, me->value_size);
@@ -256,7 +256,7 @@ int unordered_map_put(unordered_map me, void *const key, void *const value)
}
}
traverse->next = unordered_map_create_element(me, hash, key, value);
if (traverse->next == NULL) {
if (!traverse->next) {
return -ENOMEM;
}
}
@@ -281,7 +281,7 @@ bool unordered_map_get(void *const value, unordered_map me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_map_is_equal(me, traverse, hash, key)) {
memcpy(value, traverse->value, me->value_size);
return true;
@@ -304,7 +304,7 @@ bool unordered_map_contains(unordered_map me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
const struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_map_is_equal(me, traverse, hash, key)) {
return true;
}
@@ -325,7 +325,7 @@ bool unordered_map_remove(unordered_map me, void *const key)
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return false;
}
struct node *traverse = me->buckets[index];
@@ -337,7 +337,7 @@ bool unordered_map_remove(unordered_map me, void *const key)
me->size--;
return true;
}
while (traverse->next != NULL) {
while (traverse->next) {
if (unordered_map_is_equal(me, traverse->next, hash, key)) {
struct node *const backup = traverse->next;
traverse->next = traverse->next->next;
@@ -364,12 +364,12 @@ int unordered_map_clear(unordered_map me)
{
struct node **temp =
calloc((size_t) STARTING_BUCKETS, sizeof(struct node *));
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = me->buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse;
traverse = traverse->next;
free(backup->key);

View File

@@ -74,7 +74,7 @@ unordered_multimap_init(const size_t key_size,
{
struct _unordered_multimap *const init =
malloc(sizeof(struct _unordered_multimap));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -85,13 +85,13 @@ unordered_multimap_init(const size_t key_size,
init->size = 0;
init->capacity = STARTING_BUCKETS;
init->buckets = calloc(STARTING_BUCKETS, sizeof(struct node *));
if (init->buckets == NULL) {
if (!init->buckets) {
free(init);
return NULL;
}
init->iterate_hash = 0;
init->iterate_key = calloc(1, init->key_size);
if (init->iterate_key == NULL) {
if (!init->iterate_key) {
free(init->buckets);
free(init);
return NULL;
@@ -108,12 +108,12 @@ static void unordered_multimap_add_item(unordered_multimap me,
{
const int index = (int) (add->hash % me->capacity);
add->next = NULL;
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = add;
return;
}
struct node *traverse = me->buckets[index];
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
}
traverse->next = add;
@@ -132,13 +132,13 @@ int unordered_multimap_rehash(unordered_multimap me)
{
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) me->capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
traverse->hash = me->hash(traverse->key);
unordered_multimap_add_item(me, traverse);
@@ -182,14 +182,14 @@ static int unordered_multimap_resize(unordered_multimap me)
const int new_capacity = (int) (me->capacity * RESIZE_RATIO);
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) new_capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
me->capacity = new_capacity;
for (int i = 0; i < old_capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
unordered_multimap_add_item(me, traverse);
traverse = backup;
@@ -220,17 +220,17 @@ unordered_multimap_create_element(unordered_multimap me,
const void *const value)
{
struct node *const init = malloc(sizeof(struct node));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key = malloc(me->key_size);
if (init->key == NULL) {
if (!init->key) {
free(init);
return NULL;
}
memcpy(init->key, key, me->key_size);
init->value = malloc(me->value_size);
if (init->value == NULL) {
if (!init->value) {
free(init->key);
free(init);
return NULL;
@@ -257,20 +257,20 @@ int unordered_multimap_put(unordered_multimap me,
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] =
unordered_multimap_create_element(me, hash, key, value);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return -ENOMEM;
}
} else {
struct node *traverse = me->buckets[index];
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
}
traverse->next =
unordered_multimap_create_element(me, hash, key, value);
if (traverse->next == NULL) {
if (!traverse->next) {
return -ENOMEM;
}
}
@@ -296,7 +296,7 @@ void unordered_multimap_get_start(unordered_multimap me, void *const key)
me->iterate_element = NULL;
const int index = (int) (me->iterate_hash % me->capacity);
struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_multimap_is_equal(me, traverse, me->iterate_hash, key)) {
me->iterate_element = traverse;
return;
@@ -318,12 +318,12 @@ void unordered_multimap_get_start(unordered_multimap me, void *const key)
*/
bool unordered_multimap_get_next(void *const value, unordered_multimap me)
{
if (me->iterate_element == NULL) {
if (!me->iterate_element) {
return false;
}
struct node *const item = me->iterate_element;
struct node *traverse = item->next;
while (traverse != NULL) {
while (traverse) {
if (unordered_multimap_is_equal(me, traverse, me->iterate_hash,
me->iterate_key)) {
me->iterate_element = traverse;
@@ -351,7 +351,7 @@ int unordered_multimap_count(unordered_multimap me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
const struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_multimap_is_equal(me, traverse, hash, key)) {
count++;
}
@@ -373,7 +373,7 @@ bool unordered_multimap_contains(unordered_multimap me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
const struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_multimap_is_equal(me, traverse, hash, key)) {
return true;
}
@@ -397,7 +397,7 @@ bool unordered_multimap_remove(unordered_multimap me,
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return false;
}
struct node *traverse = me->buckets[index];
@@ -410,7 +410,7 @@ bool unordered_multimap_remove(unordered_multimap me,
me->size--;
return true;
}
while (traverse->next != NULL) {
while (traverse->next) {
is_key_equal =
unordered_multimap_is_equal(me, traverse->next, hash, key);
if (is_key_equal && me->value_comparator(traverse->value, value) == 0) {
@@ -443,7 +443,7 @@ bool unordered_multimap_remove_all(unordered_multimap me, void *const key)
bool was_modified = false;
while (true) {
struct node *traverse = me->buckets[index];
if (traverse == NULL) {
if (!traverse) {
break;
}
if (unordered_multimap_is_equal(me, traverse, hash, key)) {
@@ -455,7 +455,7 @@ bool unordered_multimap_remove_all(unordered_multimap me, void *const key)
was_modified = true;
continue;
}
while (traverse->next != NULL) {
while (traverse->next) {
if (unordered_multimap_is_equal(me, traverse->next, hash, key)) {
struct node *const backup = traverse->next;
traverse->next = traverse->next->next;
@@ -485,12 +485,12 @@ int unordered_multimap_clear(unordered_multimap me)
{
struct node **temp =
calloc((size_t) STARTING_BUCKETS, sizeof(struct node *));
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = me->buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse;
traverse = traverse->next;
free(backup->key);

View File

@@ -64,7 +64,7 @@ unordered_multiset_init(const size_t key_size,
{
struct _unordered_multiset *const init =
malloc(sizeof(struct _unordered_multiset));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -74,7 +74,7 @@ unordered_multiset_init(const size_t key_size,
init->used = 0;
init->capacity = STARTING_BUCKETS;
init->buckets = calloc(STARTING_BUCKETS, sizeof(struct node *));
if (init->buckets == NULL) {
if (!init->buckets) {
free(init);
return NULL;
}
@@ -89,12 +89,12 @@ static void unordered_multiset_add_item(unordered_multiset me,
{
const int index = (int) (add->hash % me->capacity);
add->next = NULL;
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = add;
return;
}
struct node *traverse = me->buckets[index];
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
}
traverse->next = add;
@@ -113,13 +113,13 @@ int unordered_multiset_rehash(unordered_multiset me)
{
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) me->capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
traverse->hash = me->hash(traverse->key);
unordered_multiset_add_item(me, traverse);
@@ -163,14 +163,14 @@ static int unordered_multiset_resize(unordered_multiset me)
const int new_capacity = (int) (me->capacity * RESIZE_RATIO);
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) new_capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
me->capacity = new_capacity;
for (int i = 0; i < old_capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
unordered_multiset_add_item(me, traverse);
traverse = backup;
@@ -200,12 +200,12 @@ unordered_multiset_create_element(unordered_multiset me,
const void *const key)
{
struct node *const init = malloc(sizeof(struct node));
if (init == NULL) {
if (!init) {
return NULL;
}
init->count = 1;
init->key = malloc(me->key_size);
if (init->key == NULL) {
if (!init->key) {
free(init);
return NULL;
}
@@ -229,9 +229,9 @@ int unordered_multiset_put(unordered_multiset me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = unordered_multiset_create_element(me, hash, key);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return -ENOMEM;
}
} else {
@@ -241,7 +241,7 @@ int unordered_multiset_put(unordered_multiset me, void *const key)
me->size++;
return 0;
}
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
if (unordered_multiset_is_equal(me, traverse, hash, key)) {
traverse->count++;
@@ -250,7 +250,7 @@ int unordered_multiset_put(unordered_multiset me, void *const key)
}
}
traverse->next = unordered_multiset_create_element(me, hash, key);
if (traverse->next == NULL) {
if (!traverse->next) {
return -ENOMEM;
}
}
@@ -275,7 +275,7 @@ int unordered_multiset_count(unordered_multiset me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
const struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_multiset_is_equal(me, traverse, hash, key)) {
return traverse->count;
}
@@ -309,7 +309,7 @@ bool unordered_multiset_remove(unordered_multiset me, void *const key)
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return false;
}
struct node *traverse = me->buckets[index];
@@ -324,7 +324,7 @@ bool unordered_multiset_remove(unordered_multiset me, void *const key)
me->size--;
return true;
}
while (traverse->next != NULL) {
while (traverse->next) {
if (unordered_multiset_is_equal(me, traverse->next, hash, key)) {
struct node *const backup = traverse->next;
backup->count--;
@@ -355,7 +355,7 @@ bool unordered_multiset_remove_all(unordered_multiset me, void *const key)
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return false;
}
struct node *traverse = me->buckets[index];
@@ -367,7 +367,7 @@ bool unordered_multiset_remove_all(unordered_multiset me, void *const key)
me->used--;
return true;
}
while (traverse->next != NULL) {
while (traverse->next) {
if (unordered_multiset_is_equal(me, traverse->next, hash, key)) {
struct node *const backup = traverse->next;
traverse->next = traverse->next->next;
@@ -394,12 +394,12 @@ int unordered_multiset_clear(unordered_multiset me)
{
struct node **temp =
calloc((size_t) STARTING_BUCKETS, sizeof(struct node *));
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = me->buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse;
traverse = traverse->next;
free(backup->key);

View File

@@ -61,7 +61,7 @@ unordered_set unordered_set_init(const size_t key_size,
const void *const))
{
struct _unordered_set *const init = malloc(sizeof(struct _unordered_set));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key_size = key_size;
@@ -70,7 +70,7 @@ unordered_set unordered_set_init(const size_t key_size,
init->size = 0;
init->capacity = STARTING_BUCKETS;
init->buckets = calloc(STARTING_BUCKETS, sizeof(struct node *));
if (init->buckets == NULL) {
if (!init->buckets) {
free(init);
return NULL;
}
@@ -84,12 +84,12 @@ static void unordered_set_add_item(unordered_set me, struct node *const add)
{
const int index = (int) (add->hash % me->capacity);
add->next = NULL;
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = add;
return;
}
struct node *traverse = me->buckets[index];
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
}
traverse->next = add;
@@ -108,13 +108,13 @@ int unordered_set_rehash(unordered_set me)
{
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) me->capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
traverse->hash = me->hash(traverse->key);
unordered_set_add_item(me, traverse);
@@ -158,14 +158,14 @@ static int unordered_set_resize(unordered_set me)
const int new_capacity = (int) (me->capacity * RESIZE_RATIO);
struct node **old_buckets = me->buckets;
me->buckets = calloc((size_t) new_capacity, sizeof(struct node *));
if (me->buckets == NULL) {
if (!me->buckets) {
me->buckets = old_buckets;
return -ENOMEM;
}
me->capacity = new_capacity;
for (int i = 0; i < old_capacity; i++) {
struct node *traverse = old_buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse->next;
unordered_set_add_item(me, traverse);
traverse = backup;
@@ -194,11 +194,11 @@ static struct node *const unordered_set_create_element(unordered_set me,
const void *const key)
{
struct node *const init = malloc(sizeof(struct node));
if (init == NULL) {
if (!init) {
return NULL;
}
init->key = malloc(me->key_size);
if (init->key == NULL) {
if (!init->key) {
free(init);
return NULL;
}
@@ -223,9 +223,9 @@ int unordered_set_put(unordered_set me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
me->buckets[index] = unordered_set_create_element(me, hash, key);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return -ENOMEM;
}
} else {
@@ -233,14 +233,14 @@ int unordered_set_put(unordered_set me, void *const key)
if (unordered_set_is_equal(me, traverse, hash, key)) {
return 0;
}
while (traverse->next != NULL) {
while (traverse->next) {
traverse = traverse->next;
if (unordered_set_is_equal(me, traverse, hash, key)) {
return 0;
}
}
traverse->next = unordered_set_create_element(me, hash, key);
if (traverse->next == NULL) {
if (!traverse->next) {
return -ENOMEM;
}
}
@@ -264,7 +264,7 @@ bool unordered_set_contains(unordered_set me, void *const key)
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
const struct node *traverse = me->buckets[index];
while (traverse != NULL) {
while (traverse) {
if (unordered_set_is_equal(me, traverse, hash, key)) {
return true;
}
@@ -285,7 +285,7 @@ bool unordered_set_remove(unordered_set me, void *const key)
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
if (me->buckets[index] == NULL) {
if (!me->buckets[index]) {
return false;
}
struct node *traverse = me->buckets[index];
@@ -296,7 +296,7 @@ bool unordered_set_remove(unordered_set me, void *const key)
me->size--;
return true;
}
while (traverse->next != NULL) {
while (traverse->next) {
if (unordered_set_is_equal(me, traverse->next, hash, key)) {
struct node *const backup = traverse->next;
traverse->next = traverse->next->next;
@@ -322,12 +322,12 @@ int unordered_set_clear(unordered_set me)
{
struct node **temp =
calloc((size_t) STARTING_BUCKETS, sizeof(struct node *));
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
for (int i = 0; i < me->capacity; i++) {
struct node *traverse = me->buckets[i];
while (traverse != NULL) {
while (traverse) {
struct node *const backup = traverse;
traverse = traverse->next;
free(backup->key);

View File

@@ -45,14 +45,14 @@ struct _vector {
vector vector_init(const size_t data_size)
{
struct _vector *const init = malloc(sizeof(struct _vector));
if (init == NULL) {
if (!init) {
return NULL;
}
init->data_size = data_size;
init->offset = 0;
init->space = START_SPACE;
init->storage = malloc(init->space * init->data_size);
if (init->storage == NULL) {
if (!init->storage) {
free(init);
return NULL;
}
@@ -89,7 +89,7 @@ bool vector_is_empty(vector me)
static int vector_set_space(vector me, const int size)
{
void *const temp = realloc(me->storage, size * me->data_size);
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
me->storage = temp;
@@ -190,7 +190,7 @@ int vector_add_at(vector me, const int index, void *const data)
if (me->offset + 1 >= me->space) {
const int new_space = (int) (me->space * RESIZE_RATIO);
void *const temp = realloc(me->storage, new_space * me->data_size);
if (temp == NULL) {
if (!temp) {
return -ENOMEM;
}
me->storage = temp;