From 3c6a36546ad3db77f5550e337e0e7b22944fa9da Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 26 May 2015 05:43:29 +0000 Subject: [PATCH] Bug fix: burn_disc_get_media_id() returned BD identifiers 2 chars too long --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/mmc.c | 8 ++++++-- libburn/util.c | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 961a159..ab0ec01 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2015.05.25.204252" +#define Cdrskin_timestamP "2015.05.26.054224" diff --git a/libburn/mmc.c b/libburn/mmc.c index ff6aa01..5835c4b 100644 --- a/libburn/mmc.c +++ b/libburn/mmc.c @@ -4980,6 +4980,7 @@ int mmc_read_disc_structure(struct burn_drive *d, /* @param flag bit0= set bit1 in flag for burn_util_make_printable_word and do not append media revision + bit1= truncate media_code1 to 6 characters (else 8) */ static int mmc_set_product_id(char *reply, int manuf_idx, int type_idx, int rev_idx, @@ -4993,7 +4994,10 @@ static int mmc_set_product_id(char *reply, if (*product_id == NULL || *media_code1 == NULL || *media_code2 == NULL) return -1; - sprintf(*media_code1, "%.8s", reply + manuf_idx); + if (flag & 2) + sprintf(*media_code1, "%.6s", reply + manuf_idx); + else + sprintf(*media_code1, "%.8s", reply + manuf_idx); ret = burn_util_make_printable_word(media_code1, 1 | ((flag & 1) << 1)); if (ret <= 0) @@ -5143,7 +5147,7 @@ int mmc_get_media_product_id(struct burn_drive *d, /* Dig out manufacturer, media type and revision */ ret = mmc_set_product_id(reply, 100, 106, 111, product_id, media_code1, media_code2, - flag & 1); + 2 | (flag & 1)); if (ret <= 0) goto ex; diff --git a/libburn/util.c b/libburn/util.c index 1d59837..7fea49c 100644 --- a/libburn/util.c +++ b/libburn/util.c @@ -177,7 +177,7 @@ char *burn_guess_manufacturer(int prf, {"MCC", 8, "Mitsubishi Chemical Corporation"}, {"MCI", 8, "Mitsui Chemicals Inc."}, {"MEI", 3, "Panasonic Corporation"}, - {"MILLENMR", 8, "Millenniata Inc."}, + {"MILLEN", 8, "Millenniata Inc."}, {"MKM", 3, "Mitsubishi Kagaku Media Co."}, {"MMC", 8, "Mitsubishi Kagaku Media Co."}, {"MXL", 8, "Hitachi Maxell Ltd."},