From b034e12d7e4e2433809f7aada72e57f712f12a3d Mon Sep 17 00:00:00 2001 From: Andrew D. France Date: Wed, 23 Jul 2025 02:20:40 -0500 Subject: Removing the dependencies from lib/ --- lib/hashmap/hashmap.c | 69 --------------------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 lib/hashmap/hashmap.c (limited to 'lib/hashmap/hashmap.c') diff --git a/lib/hashmap/hashmap.c b/lib/hashmap/hashmap.c deleted file mode 100644 index cfc112c..0000000 --- a/lib/hashmap/hashmap.c +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright (c) 2024, Lance Borden -All rights reserved. - -This software is licensed under the BSD 3-Clause License. -You may obtain a copy of the license at: -https://opensource.org/licenses/BSD-3-Clause - -Redistribution and use in source and binary forms, with or without -modification, are permitted under the conditions stated in the BSD 3-Clause -License. - -THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -*/ - -#include "hashmap.h" -#include -#include -#include - -hashmap_t *hm_new_hashmap() { - hashmap_t *this = malloc(sizeof(hashmap_t)); - this->cap = 8; - this->len = 0; - // null all pointers in list - this->list = calloc((this->cap), sizeof(map_pair_t *)); - return this; -} - -unsigned int hm_hashcode(hashmap_t *this, char *key) { - unsigned int code; - for (code = 0; *key != '\0'; key++) { - code = *key + 31 * code; - } - - return code % (this->cap); -} - -char *hm_get(hashmap_t *this, char *key) { - map_pair_t *current; - for (current = this->list[hm_hashcode(this, key)]; current; - current = current->next) { - if (strcmp(current->key, key) == 0) { - return current->val; - } - } - // the key is not found - return NULL; -} - -void hm_set(hashmap_t *this, char *key, char *val) { - unsigned int idx = hm_hashcode(this, key); - map_pair_t *current; - for (current = this->list[idx]; current; current = current->next) { - if (strcmp(current->key, key) == 0) { - current->val = val; - return; - } - } - - map_pair_t *p = malloc(sizeof(map_pair_t)); - p->key = key; - p->val = val; - p->next = this->list[idx]; - this->list[idx] = p; - this->len++; -} -- cgit v1.2.3-59-g8ed1b