summaryrefslogtreecommitdiff
path: root/lib9p/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib9p/map.h')
-rw-r--r--lib9p/map.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/lib9p/map.h b/lib9p/map.h
index f42bb2c..c5eab0f 100644
--- a/lib9p/map.h
+++ b/lib9p/map.h
@@ -1,11 +1,9 @@
-/* lib9p/map.h - A really dumb map/dict data structur
+/* lib9p/map.h - A really dumb map/dict data structure
*
- * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com>
+ * Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
-#include "internal.h"
-
/**
* `#define` `NAME`, `KEY_T`, `VAL_T`, and `CAP`; then `#include
* "map.h".
@@ -25,10 +23,10 @@
#endif
#ifndef MAP_KEY
-#define MAP_KV(TNAME) CAT3(_,TNAME,_kv)
-#define MAP_METHOD(TNAME, MNAME) CAT3(TNAME,_,MNAME)
+#define MAP_KV(TNAME) LM_CAT3(_,TNAME,_kv)
+#define MAP_METHOD(TNAME, MNAME) LM_CAT3(TNAME,_,MNAME)
#define MAP_FOREACH(m, k, v) \
- for (size_t i = 0; i < ARRAY_LEN((m)->items); i++) \
+ for (size_t i = 0; i < LM_ARRAY_LEN((m)->items); i++) \
if ( ({ k = (m)->items[i].key; v = &(m)->items[i].val; (m)->items[i].set; }) )
#endif
@@ -58,7 +56,7 @@ struct NAME {
static VAL_T *MAP_METHOD(NAME,load)(struct NAME *m, KEY_T k) {
if (!m->len)
return NULL;
- for (size_t i = 0; i < ARRAY_LEN(m->items); i++)
+ for (size_t i = 0; i < LM_ARRAY_LEN(m->items); i++)
if (m->items[i].set && m->items[i].key == k)
return &(m->items[i].val);
return NULL;
@@ -74,9 +72,9 @@ static VAL_T *MAP_METHOD(NAME,store)(struct NAME *m, KEY_T k, VAL_T v) {
*old = v;
return old;
}
- if (m->len == ARRAY_LEN(m->items))
+ if (m->len == LM_ARRAY_LEN(m->items))
return NULL;
- for (size_t i = 0; i < ARRAY_LEN(m->items); i++)
+ for (size_t i = 0; i < LM_ARRAY_LEN(m->items); i++)
if (!m->items[i].set) {
m->len++;
m->items[i].set = true;
@@ -94,7 +92,7 @@ static VAL_T *MAP_METHOD(NAME,store)(struct NAME *m, KEY_T k, VAL_T v) {
static bool MAP_METHOD(NAME,del)(struct NAME *m, KEY_T k) {
if (!m->len)
return NULL;
- for (size_t i = 0; i < ARRAY_LEN(m->items); i++)
+ for (size_t i = 0; i < LM_ARRAY_LEN(m->items); i++)
if (m->items[i].set && m->items[i].key == k) {
m->items[i].set = false;
m->len--;