feat!: make all functions have return values

This commit is contained in:
2025-09-05 18:38:21 -04:00
parent 1c03cac31d
commit 1f7cba9338
2 changed files with 37 additions and 13 deletions

38
ds.c
View File

@@ -27,33 +27,45 @@ ds_dll_t
return node;
}
void
int
ds_sll_insert(ds_sll_t *ll, void *data)
{
if (!ll) {
return -1;
}
ds_ll_foreach(ds_sll_t, ll) {
if (!cur->data) {
cur->data = data;
return;
return 0;
} else if (!cur->next) {
cur->next = ds_sll_new_node(data);
return;
return 0;
}
}
return -1;
}
void
int
ds_dll_insert(ds_dll_t *ll, void *data)
{
if (!ll) {
return -1;
}
ds_ll_foreach(ds_dll_t, ll) {
if (!cur->data) {
cur->data = data;
return;
return 0;
} else if (!cur->next) {
cur->next = ds_dll_new_node(data);
cur->next->prev = cur;
return;
return 0;
}
}
return -1;
}
void
@@ -152,7 +164,7 @@ ds_hmp_t
return hmp;
}
void
int
ds_hmp_free(ds_hmp_t **hmp, void kv_callback(_ds_hmp_kv_t *kv))
{
int i;
@@ -160,7 +172,7 @@ ds_hmp_free(ds_hmp_t **hmp, void kv_callback(_ds_hmp_kv_t *kv))
ds_sll_t *ll;
if (!hmp || !*hmp) {
return;
return -1;
}
for (i = 0; i < (*hmp)->data_len; i++) {
@@ -179,6 +191,8 @@ ds_hmp_free(ds_hmp_t **hmp, void kv_callback(_ds_hmp_kv_t *kv))
}
free((*hmp)->data);
free(*hmp);
return 0;
}
int
@@ -194,13 +208,17 @@ _ds_hmp_gen_hash(char *str)
return hash;
}
void
int
ds_hmp_insert(ds_hmp_t *hmp, char *key, void *data)
{
_ds_hmp_kv_t *kv;
ds_sll_t *ll;
unsigned hash_pos;
if (!hmp || !key || !data) {
return -1;
}
kv = malloc(sizeof(_ds_hmp_kv_t));
kv->key = key;
kv->val = data;
@@ -213,6 +231,8 @@ ds_hmp_insert(ds_hmp_t *hmp, char *key, void *data)
/* get the ll and put the data into it */
ll = hmp->data[hash_pos];
ds_sll_insert(ll, kv);
return 0;
}
void