From 6d10819e3af8d95a1d0e2b6c500e9cfeff0583ab Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 1 May 2010 08:29:28 +0000 Subject: [PATCH] Bug fix: CD-ROM media got attributed random lead-in and lead-out adresses --- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- libburn/trunk/libburn/mmc.c | 9 +++++++-- libburn/trunk/libburn/util.c | 4 ++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 339bcd6d..dc111ed0 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2010.04.30.180350" +#define Cdrskin_timestamP "2010.05.01.082808" diff --git a/libburn/trunk/libburn/mmc.c b/libburn/trunk/libburn/mmc.c index 3f91b117..f907c139 100644 --- a/libburn/trunk/libburn/mmc.c +++ b/libburn/trunk/libburn/mmc.c @@ -1974,8 +1974,13 @@ void mmc_read_atip(struct burn_drive *d) c.dir = FROM_DRIVE; d->issue_command(d, &c); - burn_print(1, "atip shit for you\n"); - + /* ts B00501 : now caring for error */ + if (c.error) { + d->erasable= 0; + d->start_lba= 0; + d->end_lba= 0; + return; + } /* ts A61021 */ data = c.page->data; diff --git a/libburn/trunk/libburn/util.c b/libburn/trunk/libburn/util.c index ad65e874..082ebce5 100644 --- a/libburn/trunk/libburn/util.c +++ b/libburn/trunk/libburn/util.c @@ -138,6 +138,10 @@ char *burn_guess_cd_manufacturer(int m_li, int s_li, int f_li, char buf[1024]; char *result = NULL; + if (m_li == 0 && s_li == 2 && f_li == 0) { + result = strdup("(no manufacturer code)"); + return result; + } f_li_0 = f_li - (f_li % 10); for (i = 0; mid_list[i].manufacturer[0]; i++) { if (m_li == mid_list[i].m_li &&