diff --git a/simap.h b/simap.h index d56ed0e..ae23391 100644 --- a/simap.h +++ b/simap.h @@ -63,7 +63,7 @@ static inline simap_instance simap_create() { ret.prev_usage_end = (uint32_t) -1; ret.usage_end = 0; ret.next_previndex = 0; - ret.base = ((uint64_t*) alloc(&(ret.a), sizeof(uint64_t), sizeof(uint64_t), 1)) /* addr divisible by 8 */ + ret.base = ((uint64_t*) aralloc(&(ret.a), sizeof(uint64_t), sizeof(uint64_t), 1)) /* addr divisible by 8 */ + 1; /* First really addressible thing */ return ret; } @@ -105,7 +105,7 @@ static inline simap_ptr64 *simap_search_internal(simap_instance *map, const char /* Check back & forth (jump validation) */ uint32_t previ = *((uint32_t *)(tipp - 1)); - if(previ == (uin32_t) -1) { + if(previ == (uint32_t) -1) { /* Expect it be good if it was first insert ever? Statistically rare to be not like it */ return ptr; } @@ -174,7 +174,7 @@ static inline void *simap_force_add_internal(simap_instance *map, const char *ke uint32_t previ = map->prev_usage_end; /* Save data ptr */ - simap_ptr64 *data = (simap_ptr_64 *)((uint8_t *)(map->base) + usi); + simap_ptr64 *data = (simap_ptr64 *)((uint8_t *)(map->base) + usi); data->ptr = ptr; /* Save link to previous */ @@ -186,21 +186,21 @@ static inline void *simap_force_add_internal(simap_instance *map, const char *ke *(usprev + 1) = (uint32_t) -1; /* First 8 bytes */ - simap_c64 *start_str = (uint8_t *)(usprev + 2); + simap_c64 *start_str = (simap_c64 *)(usprev + 2); *start_str = first8; /* Remainin bytes */ if(keylen > 8) { - uint32_t key_remains = keylen - 8; + /* uint32_t key_remains = keylen - 8; */ char *rem_str = (char *)(start_str + 1); strcpy(rem_str, key + 8); } /* Update previous with linkage */ if(previ != (uint32_t)-1) { - uint32_t *prevnex = (uint8_t *)(map->base) + previ + + uint32_t *prevnex = (uint32_t *)((uint8_t *)(map->base) + previ + sizeof(simap_ptr64) + - sizeof(uint32_t); + sizeof(uint32_t)); *prevnex = usi; }