test c callback
delete swap