int save = 0;
dvb_fe_type_t type;
#if DVB_VER_ATLEAST(5,5)
- int delsys;
+ int delsys, fenum, type5;
dvb_fe_type_t fetypes[DVB_TYPE_LAST+1];
struct dtv_property cmd;
linuxdvb_frontend_t *lfe;
/* Create frontend */
#if DVB_VER_ATLEAST(5,5)
memset(fetypes, 0, sizeof(fetypes));
- for (j = 0; j < cmd.u.buffer.len; j++) {
+ for (j = fenum = 0; j < cmd.u.buffer.len; j++) {
delsys = cmd.u.buffer.data[j];
if ((delsys = linuxdvb2tvh_delsys(delsys)) == DVB_SYS_NONE)
continue;
/* Invalid */
- if ((type = dvb_delsys2type(delsys)) == DVB_TYPE_NONE)
+ if ((type5 = dvb_delsys2type(delsys)) == DVB_TYPE_NONE)
continue;
/* Couldn't find */
- if (fetypes[type])
+ if (fetypes[type5])
continue;
/* Create */
linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path,
- type, dfi.name);
- fetypes[type] = 1;
+ type5, dfi.name);
+ fetypes[type5] = 1;
+ fenum++;
}
+ if (fenum == 0)
+ linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path,
+ type, dfi.name);
#else
linuxdvb_frontend_create(feconf, la, i, fe_path, dmx_path, dvr_path, type, dfi.name);
#endif