From 01d9e0c7bc558ee397b6dc00976631debacdd66c Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 1 Mar 2011 14:51:17 +0000 Subject: [PATCH] Bug fix: -as mkisofs -C attempts to read volume header of blank media --- libisoburn/trunk/libisoburn/burn_wrap.c | 7 +++++-- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libisoburn/trunk/libisoburn/burn_wrap.c b/libisoburn/trunk/libisoburn/burn_wrap.c index f6056b23..bcf3e658 100644 --- a/libisoburn/trunk/libisoburn/burn_wrap.c +++ b/libisoburn/trunk/libisoburn/burn_wrap.c @@ -6,7 +6,7 @@ */ /* libburn wrappers for libisoburn - Copyright 2007 - 2010 Thomas Schmitt, + Copyright 2007 - 2011 Thomas Schmitt, Provided under GPL version 2 or later. */ @@ -1723,6 +1723,7 @@ int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value, static int max_mode_names= 4; regex_t re; regmatch_t match[1]; + enum burn_disc_status s; ret= isoburn_find_emulator(&o, d, 0); if(ret<0) @@ -1783,7 +1784,9 @@ not_found:; } else if(adr_mode==3) { o->fabricated_msc1= adr_num; - if((flag & 1) && o->fabricated_msc1 >= 16) { + s= isoburn_disc_get_status(d); + if((flag & 1) && o->fabricated_msc1 >= 16 + && (s == BURN_DISC_FULL || s == BURN_DISC_APPENDABLE)) { /* adr_num is possibly 16 blocks too high */ ret= isoburn_read_iso_head(d, o->fabricated_msc1, &size,volid, 1|(1<<14)); if(ret==2) diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index 3fdc75ff..fb4006c7 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2011.02.28.190842" +#define Xorriso_timestamP "2011.03.01.145125"