]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Add proper parsing of T2 else things go horribly wrong.
authorAdam Sutton <dev@adamsutton.me.uk>
Sat, 4 Aug 2012 21:26:59 +0000 (22:26 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Tue, 14 Aug 2012 19:02:38 +0000 (20:02 +0100)
src/muxes.c

index 5e13f21ec68f59d9aeadb65a5cbbb39059e670e1..c760f9e0e8e53872d5b337b2bbb6ff14e25d45e3 100644 (file)
@@ -119,10 +119,17 @@ static int _muxes_load_dvbt ( mux_t *mux, const char *line )
 {
   char bw[20], fec[20], fec2[20], qam[20], mode[20], guard[20], hier[20];
   int r;
+  uint32_t i;
 
-  r = sscanf(line, "%u %10s %10s %10s %10s %10s %10s %10s",
-                  &mux->freq, bw, fec, fec2, qam, mode, guard, hier);
-  if(r != 8) return 1;
+  if (*line == '2') {
+    r = sscanf(line+1, "%u %u %u %10s %10s %10s %10s %10s %10s %10s",
+                    &i, &i, &mux->freq, bw, fec, fec2, qam, mode, guard, hier);
+    if(r != 10) return 1;
+  } else {
+    r = sscanf(line, "%u %10s %10s %10s %10s %10s %10s %10s",
+                    &mux->freq, bw, fec, fec2, qam, mode, guard, hier);
+    if(r != 8) return 1;
+  }
 
   if ((mux->bw            = dvb_mux_str2bw(bw))       == -1) return 1;
   if ((mux->constellation = dvb_mux_str2qam(qam))     == -1) return 1;