diff --git a/include/tlibc/algorithms.h b/include/tlibc/algorithms.h index 709d382..ae4566a 100644 --- a/include/tlibc/algorithms.h +++ b/include/tlibc/algorithms.h @@ -3,9 +3,9 @@ /// USAGE insertionSort(list.data, list.len, .id) #define insertionSort_inline(arr, n, field) \ - for(i32 i = 1, j; i < n; i++) { \ + for(i32 i = 1, j; i < (i32)n; i++) { \ j = i; \ - while( j > 0 && arr[j - 1]##field > arr[i]##field){\ + while( j > 0 && arr[j - 1]field > arr[i]field){\ arr[j] = arr[j - 1]; \ j--; \ } \ @@ -17,12 +17,12 @@ i32 high = n - 1; \ while (low <= high) { \ i32 mid = low + (high - low) / 2; \ - if (arr[mid]##field == key) { \ + if (arr[mid]field == key) { \ out_index = mid; \ break; \ } \ /* choose left or right half */ \ - if (arr[mid]##field < key) \ + if (arr[mid]field < key) \ low = mid + 1; \ else high = mid - 1; \ } \ diff --git a/include/tlibc/collections/HashMap.h b/include/tlibc/collections/HashMap.h index 6e9cf29..24f2754 100755 --- a/include/tlibc/collections/HashMap.h +++ b/include/tlibc/collections/HashMap.h @@ -43,7 +43,7 @@ typedef struct HashMapIter { typedef struct HashMapKeyValue { str key; - void* value; + void* value_ptr; } HashMapKeyValue; static inline HashMapIter HashMapIter_create(const HashMap_* table){ diff --git a/src/collections/HashMap.c b/src/collections/HashMap.c index 7bb30a7..feb7519 100755 --- a/src/collections/HashMap.c +++ b/src/collections/HashMap.c @@ -225,6 +225,6 @@ bool HashMapIter_getCurrent(HashMapIter* self, HashMapKeyValue* kv){ return false; kv->key = bu->key_hash_list.data[self->elem_n].key; - kv->value = (u8*)bu->value_list.data + self->map->value_t_size * self->elem_n; + kv->value_ptr = (u8*)bu->value_list.data + self->map->value_t_size * self->elem_n; return true; }