From c8b784443ab76f5af8ae1ae6ef93dd425e334e18 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 17 Jun 2012 17:33:26 +0000 Subject: [PATCH] Improved reported number of missing bytes in case of track source shortage --- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- libburn/trunk/libburn/sector.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index eca568e9..d0d323de 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2012.05.30.202249" +#define Cdrskin_timestamP "2012.06.17.173420" diff --git a/libburn/trunk/libburn/sector.c b/libburn/trunk/libburn/sector.c index 9869dddc..c2140977 100644 --- a/libburn/trunk/libburn/sector.c +++ b/libburn/trunk/libburn/sector.c @@ -185,13 +185,18 @@ static void get_bytes(struct burn_track *track, int count, unsigned char *data) if (track->end_on_premature_eoi && shortage >= count && !track->open_ended) { char msg[80]; - /* Memorize that premature end of input happened */ + off_t missing, inp_block_size, track_blocks; + + inp_block_size = burn_sector_length(track->mode); + track_blocks = burn_track_get_sectors_2(track, 1); + missing = track_blocks * inp_block_size - track->sourcecount; sprintf(msg, - "Premature end of input encountered. Missing: %d bytes", - shortage); + "Premature end of input encountered. Missing: %.f bytes", + (double) missing); libdax_msgs_submit(libdax_messenger, -1, 0x00020180, LIBDAX_MSGS_SEV_FAILURE, LIBDAX_MSGS_PRIO_HIGH, msg, 0,0); + /* Memorize that premature end of input happened */ track->end_on_premature_eoi = 2; } if (track->open_ended || track->end_on_premature_eoi)