now ansi-C compliant (except for SDPs)