I suggest improving the probing a little. Something like
idx = (idx + 1) % map->cap;
becomes iterCount++;
idx = (idx + iterCount) % map->cap; idx = (idx + 1) % map->cap;
becomes iterCount++;
idx = (idx + iterCount) % map->cap;