]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
linuxdvb ca: show all CAIDs
authorJaroslav Kysela <perex@perex.cz>
Mon, 29 May 2017 16:03:05 +0000 (18:03 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 29 May 2017 16:14:25 +0000 (18:14 +0200)
src/input/mpegts/linuxdvb/linuxdvb_ca.c

index c2b19ef308223ddd1f6b54d290248d90b74747b3..1d9af24d9dcb78ad24619311fbf28f07324e0ac1 100644 (file)
@@ -509,21 +509,20 @@ linuxdvb_ca_ca_info_callback(void *arg, uint8_t slot_id, uint16_t session_num,
                              uint32_t ca_id_count, uint16_t *ca_ids)
 {
     linuxdvb_ca_t * lca = arg;
-    uint32_t i;
+    uint32_t i, j;
     char buf[256];
     size_t c = 0;
 
     dvbcam_unregister_cam(lca, 0);
     dvbcam_register_cam(lca, 0, ca_ids, ca_id_count);
 
-
-    for(i=0; i< ca_id_count; i++) {
-        tvh_strlcatf(buf, sizeof(buf), c, " %04X", ca_ids[i]);
-        tvh_strlcatf(buf, sizeof(buf), c, " (%s)",
-                     caid2name(ca_ids[i]));
+    for (i = 0; i < ca_id_count; ) {
+      for (j = 0, buf[0] = '\0'; j < 4 && i < ca_id_count; i++, j++)
+          tvh_strlcatf(buf, sizeof(buf), c, " %04X (%s)",
+                       ca_ids[i], caid2name(ca_ids[i]));
+      tvhinfo(LS_EN50221, "CAM slot %u supported CAIDs: %s", slot_id, buf);
     }
 
-    tvhinfo(LS_EN50221, "CAM slot %u supported CAIDs: %s", slot_id, buf);
     return 0;
 }