mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed reading timers.conf and channels.conf that contain blanks after numeric values
This commit is contained in:
parent
eba69bf7d1
commit
4320b97298
2
HISTORY
2
HISTORY
@ -826,3 +826,5 @@ Video Disk Recorder Revision History
|
|||||||
to enter the "Recordings" menu.
|
to enter the "Recordings" menu.
|
||||||
- Updated 'channels.conf' for the "Bundesliga" channels of Premiere World
|
- Updated 'channels.conf' for the "Bundesliga" channels of Premiere World
|
||||||
(thanks to Helmut Schächner).
|
(thanks to Helmut Schächner).
|
||||||
|
- Fixed reading timers.conf and channels.conf that contain blanks after numeric
|
||||||
|
values.
|
||||||
|
14
config.c
14
config.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.c 1.75 2001/10/19 13:14:09 kls Exp $
|
* $Id: config.c 1.76 2001/10/20 13:09:38 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -14,6 +14,10 @@
|
|||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
|
|
||||||
|
// IMPORTANT NOTE: in the 'sscanf()' calls there is a blank after the '%d'
|
||||||
|
// format characters in order to allow any number of blanks after a numeric
|
||||||
|
// value!
|
||||||
|
|
||||||
// -- cKeys ------------------------------------------------------------------
|
// -- cKeys ------------------------------------------------------------------
|
||||||
|
|
||||||
tKey keyTable[] = { // "Up" and "Down" must be the first two keys!
|
tKey keyTable[] = { // "Up" and "Down" must be the first two keys!
|
||||||
@ -251,16 +255,16 @@ bool cChannel::Parse(const char *s)
|
|||||||
else {
|
else {
|
||||||
groupSep = false;
|
groupSep = false;
|
||||||
char *apidbuf = NULL;
|
char *apidbuf = NULL;
|
||||||
int fields = sscanf(s, "%a[^:]:%d:%c:%d:%d:%d:%a[^:]:%d:%d:%d", &buffer, &frequency, &polarization, &diseqc, &srate, &vpid, &apidbuf, &tpid, &ca, &pnr);
|
int fields = sscanf(s, "%a[^:]:%d :%c:%d :%d :%d :%a[^:]:%d :%d :%d ", &buffer, &frequency, &polarization, &diseqc, &srate, &vpid, &apidbuf, &tpid, &ca, &pnr);
|
||||||
apid1 = apid2 = 0;
|
apid1 = apid2 = 0;
|
||||||
dpid1 = dpid2 = 0;
|
dpid1 = dpid2 = 0;
|
||||||
if (apidbuf) {
|
if (apidbuf) {
|
||||||
char *p = strchr(apidbuf, ';');
|
char *p = strchr(apidbuf, ';');
|
||||||
if (p)
|
if (p)
|
||||||
*p++ = 0;
|
*p++ = 0;
|
||||||
sscanf(apidbuf, "%d,%d", &apid1, &apid2);
|
sscanf(apidbuf, "%d ,%d ", &apid1, &apid2);
|
||||||
if (p)
|
if (p)
|
||||||
sscanf(p, "%d,%d", &dpid1, &dpid2);
|
sscanf(p, "%d ,%d ", &dpid1, &dpid2);
|
||||||
delete apidbuf;
|
delete apidbuf;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -468,7 +472,7 @@ bool cTimer::Parse(const char *s)
|
|||||||
strcat(strn0cpy(s2, s, l2 + 1), " \n");
|
strcat(strn0cpy(s2, s, l2 + 1), " \n");
|
||||||
s = s2;
|
s = s2;
|
||||||
}
|
}
|
||||||
if (8 <= sscanf(s, "%d:%d:%a[^:]:%d:%d:%d:%d:%a[^:\n]:%a[^\n]", &active, &channel, &buffer1, &start, &stop, &priority, &lifetime, &buffer2, &summary)) {
|
if (8 <= sscanf(s, "%d :%d :%a[^:]:%d :%d :%d :%d :%a[^:\n]:%a[^\n]", &active, &channel, &buffer1, &start, &stop, &priority, &lifetime, &buffer2, &summary)) {
|
||||||
if (summary && !*skipspace(summary)) {
|
if (summary && !*skipspace(summary)) {
|
||||||
delete summary;
|
delete summary;
|
||||||
summary = NULL;
|
summary = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user