From 4ac55835610f41c412d4abb1d8a113dcfe3140dd Mon Sep 17 00:00:00 2001 From: Andrew D. France Date: Wed, 23 Jul 2025 04:31:13 -0500 Subject: Revert to old hashmap: fixed gitmodule index --- lib/hashmap/hashmap.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lib/hashmap/hashmap.h (limited to 'lib/hashmap/hashmap.h') diff --git a/lib/hashmap/hashmap.h b/lib/hashmap/hashmap.h new file mode 100644 index 0000000..d5775c5 --- /dev/null +++ b/lib/hashmap/hashmap.h @@ -0,0 +1,38 @@ +/* +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. +*/ + +#ifndef HASHMAP_H +#define HASHMAP_H + +typedef struct pair { + char *key; + char *val; + struct pair *next; +} map_pair_t; + +typedef struct { + map_pair_t **list; + unsigned int cap; + unsigned int len; +} hashmap_t; + +hashmap_t *hm_new_hashmap(); +unsigned int hm_hashcode(hashmap_t *this, char *key); +char *hm_get(hashmap_t *this, char *key); +void hm_set(hashmap_t *this, char *key, char *val); + +#endif // HASHMAP_H -- cgit v1.2.3-59-g8ed1b