]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts pid: reshuffle code in mpegts_pid_dump()
authorJaroslav Kysela <perex@perex.cz>
Mon, 5 Mar 2018 19:37:14 +0000 (20:37 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 5 Mar 2018 19:37:14 +0000 (20:37 +0100)
src/input/mpegts/mpegts_pid.c

index d00f916aa14ee94e0d37de175d4382c7a007ad72..d5a4b006abac9ce4d8f9789402c840a7fc09f8f2 100644 (file)
@@ -371,22 +371,21 @@ mpegts_pid_dump(mpegts_apids_t *pids, char *buf, int len, int wflag, int raw)
     return len;
   if (pids->all)
     return snprintf(buf, len, "all");
-  if (!raw)
+  if (!raw) {
     mpegts_pid_weighted(&spids, pids, len / 2);
-  else {
-    mpegts_pid_init(&spids);
-    mpegts_pid_copy(&spids, pids);
+    pids = &spids;
   }
   *buf = '\0';
   if (wflag) {
-    for (i = 0; i < spids.count && l + 1 < len; i++) {
-      p = &spids.pids[i];
+    for (i = 0; i < pids->count && l + 1 < len; i++) {
+      p = &pids->pids[i];
       tvh_strlcatf(buf, len, l, "%s%i(%i)", i > 0 ? "," : "", p->pid, p->weight);
     }
   } else {
-    for (i = 0; i < spids.count && l + 1 < len; i++)
-     tvh_strlcatf(buf, len, l, "%s%i", i > 0 ? "," : "", spids.pids[i].pid);
+    for (i = 0; i < pids->count && l + 1 < len; i++)
+     tvh_strlcatf(buf, len, l, "%s%i", i > 0 ? "," : "", pids->pids[i].pid);
   }
-  mpegts_pid_done(&spids);
+  if (pids == &spids)
+    mpegts_pid_done(&spids);
   return l;
 }