fixed extern c