Fix the C code and the ASDF compilation stuff