Fixed handling lowercase polarization characters in channel definitions if no DiSEqC is used

This commit is contained in:
Klaus Schmidinger 2012-12-03 14:13:12 +01:00
parent 7cd8ab4686
commit f1603e9128
3 changed files with 13 additions and 5 deletions

View File

@ -229,6 +229,8 @@ Stefan Huelswitt <s.huelswitt@gmx.de>
for a patch that was used to implement the --localedir option
for reporting a problem with updating CA descriptors in transfer mode on full
featured DVB cards
for pointing out a bug in handling lowercase polarization characters in channel
definitions if no DiSEqC is used
Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than 27500
@ -2986,3 +2988,7 @@ S
Peter Münster <pmlists@free.fr>
for fixing 'make install' to not overwrite existing configuration files
Mike Hay <mike.hay@linenshorts.com>
for reporting a problem with handling the case of the polarization character in
channel definitions if no DiSEqC is used

View File

@ -7364,3 +7364,5 @@ Video Disk Recorder Revision History
- Fixed some #include statements in plugins to use <vdr/...> instead of "vdr/..."
(thanks to Lars Hanisch).
- Fixed some spellings in osd.h and svdrp.c (thanks to Ville Skyttä).
- Fixed handling lowercase polarization characters in channel definitions if no DiSEqC
is used (reported by Mike Hay, actual bug pointed out by Stefan Huelswitt).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.c 2.74 2012/10/07 11:11:30 kls Exp $
* $Id: dvbdevice.c 2.75 2012/12/03 14:07:01 kls Exp $
*/
#include "dvbdevice.h"
@ -261,16 +261,16 @@ bool cDvbTransponderParameters::Parse(const char *s)
case 'C': s = ParseParameter(s, coderateH, CoderateValues); break;
case 'D': s = ParseParameter(s, coderateL, CoderateValues); break;
case 'G': s = ParseParameter(s, guard, GuardValues); break;
case 'H': polarization = *s++; break;
case 'H': polarization = 'H'; s++; break;
case 'I': s = ParseParameter(s, inversion, InversionValues); break;
case 'L': polarization = *s++; break;
case 'L': polarization = 'L'; s++; break;
case 'M': s = ParseParameter(s, modulation, ModulationValues); break;
case 'O': s = ParseParameter(s, rollOff, RollOffValues); break;
case 'P': s = ParseParameter(s, plpId); break;
case 'R': polarization = *s++; break;
case 'R': polarization = 'R'; s++; break;
case 'S': s = ParseParameter(s, system, SystemValuesSat); break; // we only need the numerical value, so Sat or Terr doesn't matter
case 'T': s = ParseParameter(s, transmission, TransmissionValues); break;
case 'V': polarization = *s++; break;
case 'V': polarization = 'V'; s++; break;
case 'Y': s = ParseParameter(s, hierarchy, HierarchyValues); break;
default: esyslog("ERROR: unknown parameter key '%c'", *s);
return false;