On Thu, 6 Sep 2007, Andreas Oberritter wrote: > Trent Piepho wrote: > > But, 2147483647 is not a valid DVB-T frequency. It looks like some random > > number. > > It's not that random: 2147483647 equals INT_MAX and also LONG_MAX on 32 > bit systems. > > Quoting from the manpage of strtol(): > > The strtol() function returns the result of the conversion, unless the > value would underflow or overflow. If an underflow occurs, strtol() > returns LONG_MIN. If an overflow occurs, strtol() returns LONG_MAX. > In both cases, errno is set to ERANGE. Precisely the same holds for > strtoll() (with LLONG_MIN and LLONG_MAX instead of LONG_MIN and > LONG_MAX). > > My conclusion: Your channels.conf contains invalid frequency values. > Tzap uses strtol() to parse those values and returns LONG_MAX. Very clever, I bet you are right about that! Previously the frequency range wasn't checked, so something like this could go undetected. There wouldn't be any error returned when FE_SET_FRONTEND was called. The tuner driver would either reject the value when the tuning thread tried to set it, or it would program the tuner so some bogus setting. Either no signal would be detected, or the frequency would remain unchanged from whatever it was at before, and so the last channel tuned might appear, as if it was at 2147483647 Hz. _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb