fix wrong macro and path should use c string