From ebea7c29efa311366bb0cdfa9ff7e04a683d3123 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 11 Feb 2012 19:09:40 +0100 Subject: [PATCH] Reporting name of base file with error message for filtered streams --- ChangeLog | 4 ++++ libisofs/filesrc.c | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e093289..2d5e574 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +bzr branch lp:libisofs/for-libisoburn (to become libisofs-1.2.2.tar.gz) +=============================================================================== +- no novelties yet - + libisofs-1.2.0.tar.gz Sat Jan 28 2012 =============================================================================== * Extended influence of iso_write_opts_set_dir_rec_mtime() to Joliet and diff --git a/libisofs/filesrc.c b/libisofs/filesrc.c index 7e7d3b9..37683f5 100644 --- a/libisofs/filesrc.c +++ b/libisofs/filesrc.c @@ -26,6 +26,8 @@ #include #include +/* <<< */ +#include #ifdef Xorriso_standalonE @@ -345,6 +347,7 @@ int filesrc_writer_write_data(IsoImageWriter *writer) void *ctx= NULL; char md5[16], pre_md5[16]; int pre_md5_valid = 0; + IsoStream *stream, *inp; #ifdef Libisofs_with_libjtE int jte_begun = 0; #endif @@ -381,7 +384,14 @@ int filesrc_writer_write_data(IsoImageWriter *writer) pre_md5_valid = filesrc_make_md5(t, file, pre_md5, 0); } res = filesrc_open(file); - iso_stream_get_file_name(file->stream, name); + + /* Get file name from end of filter chain */ + for (stream = file->stream; ; stream = inp) { + inp = iso_stream_get_input_stream(stream, 0); + if (inp == NULL) + break; + } + iso_stream_get_file_name(stream, name); if (res < 0) { /* * UPS, very ugly error, the best we can do is just to write