[MPlayer-cvslog] r31991 - trunk/stream/stream_bd.c

reimar subversion at mplayerhq.hu
Sat Aug 21 11:40:17 CEST 2010


Author: reimar
Date: Sat Aug 21 11:40:16 2010
New Revision: 31991

Log:
Simplify/fix printing of disc id/VUK

Modified:
   trunk/stream/stream_bd.c

Modified: trunk/stream/stream_bd.c
==============================================================================
--- trunk/stream/stream_bd.c	Sat Aug 21 11:27:15 2010	(r31990)
+++ trunk/stream/stream_bd.c	Sat Aug 21 11:40:16 2010	(r31991)
@@ -131,6 +131,15 @@ static int bd_stream_seek(stream_t *s, o
     return 1;
 }
 
+#define ID_STR_LEN 41
+static void id2str(const uint8_t *id, int idlen, char dst[ID_STR_LEN])
+{
+    int i;
+    idlen = FFMIN(idlen, 20);
+    for (i = 0; i < idlen; i++)
+        snprintf(dst + 2*i, 3, "%02"PRIx8, id[i]);
+}
+
 static int find_vuk(struct bd_priv *bd, const uint8_t discid[20])
 {
     char filename[PATH_MAX];
@@ -197,12 +206,13 @@ static int bd_get_uks(struct bd_priv *bd
     unsigned char *buf;
     size_t file_size;
     int pos;
-    int i, j;
+    int i;
     struct AVAES *a;
     struct AVSHA *asha;
     stream_t *file;
     char filename[PATH_MAX];
     uint8_t discid[20];
+    char idstr[ID_STR_LEN];
 
     snprintf(filename, sizeof(filename), BD_UKF_PATH, bd->device);
     file = open_stream(filename, NULL, NULL);
@@ -229,10 +239,9 @@ static int bd_get_uks(struct bd_priv *bd
     av_free(asha);
 
     if (!find_vuk(bd, discid)) {
+        id2str(discid, 20, idstr);
         mp_msg(MSGT_OPEN, MSGL_ERR,
-               "No Volume Unique Key (VUK) found for this Disc: ");
-        for (j = 0; j < 20; j++) mp_msg(MSGT_OPEN, MSGL_ERR, "%02x", discid[j]);
-        mp_msg(MSGT_OPEN, MSGL_ERR, "\n");
+               "No Volume Unique Key (VUK) found for this Disc: %s\n", idstr);
         av_free(buf);
         return 0;
     }
@@ -253,14 +262,10 @@ static int bd_get_uks(struct bd_priv *bd
         a = av_malloc(av_aes_size);
         av_aes_init(a, bd->vuk.u8, 128, 1);
 
-        mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_BD_DISCID=");
-        for (j = 0; j < 20; j++)
-            mp_msg(MSGT_IDENTIFY, MSGL_INFO, "%02x", discid[j]);
-        mp_msg(MSGT_IDENTIFY, MSGL_INFO, "\n");
-        mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_BD_VUK=");
-        for (j = 0; j < 20; j++)
-            mp_msg(MSGT_IDENTIFY, MSGL_INFO, "%02x", discid[j]);
-        mp_msg(MSGT_IDENTIFY, MSGL_INFO, "\n");
+        id2str(discid, 20, idstr);
+        mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_BD_DISCID=%s\n", idstr);
+        id2str(bd->vuk.u8, 16, idstr);
+        mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_BD_VUK=%s\n", idstr);
 
         for (i = 0; i < bd->uks.count; i++) {
             av_aes_crypt(a, bd->uks.keys[i].u8, &buf[key_pos], 1, NULL, 1); // decrypt unit key


More information about the MPlayer-cvslog mailing list