--- dvb_api_wrapper.c.orig 2008-02-04 21:12:33.000000000 +0100 +++ dvb_api_wrapper.c 2008-02-04 21:10:30.000000000 +0100 @@ -185,18 +185,16 @@ } int DVBFE_ioctl(int d, int request, void *data) { - switch (request) { - case DVBFE_SET_PARAMS: - return ioctl_DVBFE_SET_PARAMS(d, (dvbfe_params*)data); - case DVBFE_GET_DELSYS: - return ioctl_DVBFE_GET_DELSYS(d, (dvbfe_delsys*)data); - case DVBFE_GET_INFO: - return ioctl_DVBFE_GET_INFO(d, (dvbfe_info*)data); - case DVBFE_GET_PARAMS: - case DVBFE_GET_EVENT: - errno = EINVAL; - return -1; - } + if (request == (int)DVBFE_SET_PARAMS) + return ioctl_DVBFE_SET_PARAMS(d, (dvbfe_params*)data); + if (request == (int)DVBFE_GET_DELSYS) + return ioctl_DVBFE_GET_DELSYS(d, (dvbfe_delsys*)data); + if (request == (int)DVBFE_GET_INFO) + return ioctl_DVBFE_GET_INFO(d, (dvbfe_info*)data); + if (request == (int)DVBFE_GET_PARAMS || request == (int)DVBFE_GET_EVENT) { + errno = EINVAL; + return -1; + } return ioctl(d, request, data); }