The reason for SIGSEGV function pointer problem

Mike Wey via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jun 7 11:00:05 PDT 2017


On 06/07/2017 06:50 PM, Russel Winder via Digitalmars-d-learn wrote:
> So why isn't &checkFrontend a thing of type check_frontend_t*

AFAIK, you would usually translate:


typedef int (check_frontend_t*)(void *args, struct dvb_v5_fe_parms *parms);

into:

alias check_frontend_t = extern(C) int function (void* args, 
dvb_v5_fe_parms* parms);

The problem there is that libdvdv5 defines it as (check_frontend_t) and 
not (check_frontend_t*).
To get around that you can ommit the * in the declaration of 
dvb_scan_transponder, and then you should be able to pass &checkFrontend 
to it.

-- 
Mike Wey


More information about the Digitalmars-d-learn mailing list