feat: standard vga support (mode switching, framebuffer remapping)
[lunaix-os.git] / lunaix-os / includes / lunaix / ds / hashtable.h
index 0e8c691a47ebc1279177ed4559e0411766506243..41ca36b511d966fa591504525b2de6bfbd88b91b 100644 (file)
@@ -21,9 +21,9 @@ struct hbucket
     struct hlist_node* head;
 };
 
-#define __hashkey(table, hash) (hash % (sizeof(table) / sizeof(table[0])))
+#define __hashkey(table, hash) ((hash) % (sizeof(table) / sizeof(table[0])))
 
-#define DECLARE_HASHTABLE(name, bucket_num) struct hbucket name[bucket_num];
+#define DECLARE_HASHTABLE(name, bucket_num) struct hbucket name[(bucket_num)];
 
 #define hashtable_bucket_foreach(bucket, pos, n, member)                       \
     for (pos = list_entry((bucket)->head, typeof(*pos), member);               \
@@ -38,7 +38,7 @@ struct hbucket
 
 #define hashtable_init(table)                                                  \
     {                                                                          \
-        for (int i = 0; i < (sizeof(table) / sizeof(table[0])); i++) {         \
+        for (u32_t i = 0; i < (sizeof(table) / sizeof(table[0])); i++) {       \
             table[i].head = 0;                                                 \
         }                                                                      \
     }