From cf6b347056e072fd6c53943a7672d8118d30c4a0 Mon Sep 17 00:00:00 2001 From: rocky Date: Mon, 22 Oct 2012 21:01:39 -0400 Subject: -U option-processing fixes. --- src/iso-info.c | 6 +++--- src/iso-read.c | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/iso-info.c b/src/iso-info.c index 64495523..58c47611 100644 --- a/src/iso-info.c +++ b/src/iso-info.c @@ -115,11 +115,11 @@ parse_options (int argc, char *argv[]) " --usage Display brief usage message\n"; static const char usageText[] = - "Usage: %s [-d|--debug INT] [-i|--input FILE] [-f] [-l|--iso9660]\n" + "Usage: %s [-i|--input FILE] [-f] [-l|--iso9660] [-U|--udf]\n" " [--no-header] [--no-joliet] [--no-rock-ridge] [--no-xa] [-q|--quiet]\n" - " [-V|--version] [-?|--help] [--usage]\n"; + " [-d|--debug INT] [-V|--version] [-?|--help] [--usage]\n"; - static const char optionsString[] = "d:i::flqV?"; + static const char optionsString[] = "d:i::flUqV?"; static const struct option optionsTable[] = { {"debug", required_argument, NULL, 'd'}, {"input", optional_argument, NULL, 'i'}, diff --git a/src/iso-read.c b/src/iso-read.c index 5290c509..68792226 100644 --- a/src/iso-read.c +++ b/src/iso-read.c @@ -93,11 +93,11 @@ parse_options (int argc, char *argv[]) static const char usageText[] = "Usage: %s [-d|--debug INT] [-i|--image FILE] [-e|--extract FILE]\n" - " [--no-header] [-o|--output-file FILE] [-V|--version] [-?|--help]\n" - " [--usage]\n"; + " [--no-header] [-o|--output-file FILE] [-U|--udf]\n" + " [-V|--version] [-?|--help] [--usage]\n"; /* Command-line options */ - static const char* optionsString = "d:i:e:o:Vk?"; + static const char* optionsString = "d:i:e:o:VUk?"; static const struct option optionsTable[] = { {"debug", required_argument, NULL, 'd' }, {"image", required_argument, NULL, 'i' }, @@ -105,7 +105,7 @@ parse_options (int argc, char *argv[]) {"no-header", no_argument, &opts.no_header, 1 }, {"ignore", no_argument, &opts.ignore, 'k' }, {"output-file", required_argument, NULL, 'o' }, - {"udf", no_argument, &opts.udf, 'U' }, + {"udf", no_argument, &opts.udf, 'U' }, {"version", no_argument, NULL, 'V' }, {"help", no_argument, NULL, '?' }, @@ -124,6 +124,7 @@ parse_options (int argc, char *argv[]) case 'k': opts.ignore = 1; break; case 'e': opts.file_name = strdup(optarg); break; case 'o': opts.output_file = strdup(optarg); break; + case 'U': opts.udf = 1; break; case 'V': print_version(program_name, CDIO_VERSION, 0, true); -- cgit v1.2.3 From 2cda07957f08f07304f63cc158f881735fb24003 Mon Sep 17 00:00:00 2001 From: Leon Merten Lohse Date: Wed, 24 Oct 2012 20:06:08 +0200 Subject: removed warning while parsing empty cd-text cleaned up check_cue.sh.in fixed isofs-m1 test not running updated isofs-m1 test result removed obsolete cdda.toc test data updated cue test to check for wrong track nr issue --- lib/driver/_cdio_generic.c | 5 +-- lib/driver/cdtext.c | 2 +- test/cdda.right | 2 ++ test/check_common_fn.in | 2 +- test/check_cue.sh.in | 78 ++++++++++++++++++++-------------------------- test/data/Makefile.am | 13 ++++---- test/data/cdda.cue | 2 ++ test/data/cdda.toc | 14 --------- test/driver/cdrdao.c.in | 2 ++ test/isofs-m1-no-rr.right | 4 +-- 10 files changed, 52 insertions(+), 72 deletions(-) delete mode 100644 test/data/cdda.toc diff --git a/lib/driver/_cdio_generic.c b/lib/driver/_cdio_generic.c index 92335668..d3cd1b0c 100644 --- a/lib/driver/_cdio_generic.c +++ b/lib/driver/_cdio_generic.c @@ -286,11 +286,12 @@ get_cdtext_generic (void *p_user_data) if (NULL == p_env->cdtext) { p_cdtext_data = read_cdtext_generic (p_env); + if (NULL != p_cdtext_data) { + len = CDIO_MMC_GET_LEN16(p_cdtext_data)-2; p_env->cdtext = cdtext_init(); - len = CDIO_MMC_GET_LEN16(p_cdtext_data); - if(0 != cdtext_data_init (p_env->cdtext, &p_cdtext_data[4], len-2)) { + if(len <= 0 || 0 != cdtext_data_init (p_env->cdtext, &p_cdtext_data[4], len)) { p_env->b_cdtext_error = true; cdtext_destroy (p_env->cdtext); free(p_env->cdtext); diff --git a/lib/driver/cdtext.c b/lib/driver/cdtext.c index 4daf93d0..74c54061 100644 --- a/lib/driver/cdtext.c +++ b/lib/driver/cdtext.c @@ -512,7 +512,7 @@ cdtext_data_init(cdtext_t *p_cdtext, uint8_t *wdata, size_t i_data) p_data = wdata; if (i_data < CDTEXT_LEN_PACK || 0 != i_data % CDTEXT_LEN_PACK) { - cdio_warn("CD-Text size is not multiple of pack size"); + cdio_warn("CD-Text size is too small or not a multiple of pack size"); return -1; } diff --git a/test/cdda.right b/test/cdda.right index 31505f9f..b7f19d62 100644 --- a/test/cdda.right +++ b/test/cdda.right @@ -16,3 +16,5 @@ CD-TEXT for Disc: TITLE: Join us now we have the software PERFORMER: Richard Stallman CD-TEXT for Track 1: + TITLE: Soft + PERFORMER: Richard S diff --git a/test/check_common_fn.in b/test/check_common_fn.in index c872e11e..f1aa9e6d 100755 --- a/test/check_common_fn.in +++ b/test/check_common_fn.in @@ -23,7 +23,7 @@ TZ=CUT # both 'en_US' and 'en_US.utf8' might be defined on some platforms if locale -a >/dev/null 2>&1 ; then # Note: Solaris 10's shell can't handle $(..) so we use `...` - LC_TIME=`locale -a | grep 'en_US' | grep -v 'utf8' &2>/dev/null` + LC_TIME=`locale -a | grep 'en_US' | grep -v 'utf8' | grep -v 'iso88591' &2>/dev/null` fi [ -z "$LC_TIME" ] && { LC_TIME=${LC_TIME:-en_US} diff --git a/test/check_cue.sh.in b/test/check_cue.sh.in index f771436f..81228055 100644 --- a/test/check_cue.sh.in +++ b/test/check_cue.sh.in @@ -25,21 +25,20 @@ BASE=`basename $0 .sh` fname=cdda testnum=CD-DA -opts="--quiet --no-device-info --cue-file ${abs_top_srcdir}/test/data/${fname}.cue --no-cddb" -test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right -RC=$? -check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts" - - -opts="--quiet --no-device-info --bin-file ${abs_top_srcdir}/test/data/${fname}.bin --no-cddb" -test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right -RC=$? -check_result $RC "cd-info BIN test $testnum" "${CD_INFO} $opts" - -opts="--quiet --no-device-info --toc-file ${abs_top_srcdir}/test/data/${fname}.toc --no-cddb" -test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right -RC=$? -check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts" +if test -f ${abs_top_srcdir}/test/data/${fname}.bin ; then + opts="--quiet --no-device-info --cue-file ${abs_top_srcdir}/test/data/${fname}.cue --no-cddb" + test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right + RC=$? + check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts" + + opts="--quiet --no-device-info --bin-file ${abs_top_srcdir}/test/data/${fname}.bin --no-cddb" + test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right + RC=$? + check_result $RC "cd-info BIN test $testnum" "${CD_INFO} $opts" +else + echo "-- Don't see BIN file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." +fi + fname=cdtext testnum="CD-Text binary parser" @@ -53,66 +52,55 @@ if test -f ${abs_top_srcdir}/test/data/${fname}.bin ; then echo "-- Don't see CD-Text file ${abs_top_srcdir}/test/data/${fname}.cdt. Test $testnum skipped." fi else - echo "-- Don't see binary file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." + echo "-- Don't see BIN file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." fi + fname=isofs-m1 -testnum='ISO 9660 mode1 CUE' if test -f ${abs_top_srcdir}/test/data/${fname}.bin ; then - if test -n "@HAVE_ROCK@"; then + testnum='ISO 9660 mode1 CUE' + if test -n "@HAVE_ROCK@"; then opts="-q --no-device-info --no-disc-mode --cue-file ${abs_top_srcdir}/test/data/${fname}.cue --iso9660" test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right RC=$? check_result $RC "cd-info Rock-Ridge CUE test $testnum" "${CD_INFO} $opts" - + else opts="-q --no-device-info --no-disc-mode --no-rock-ridge --cue-file ${abs_top_srcdir}/test/data/${fname}.cue --iso9660" test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}-no-rr.right RC=$? check_result $RC "cd-info no Rock-Ridge CUE test $testnum" "${CD_INFO} $opts" fi -else - echo "-- Don't see binary file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." -fi - -if test -n "@HAVE_ROCK@"; then testnum='ISO 9660 mode1 TOC' - if test -f ${abs_top_srcdir}/test/data/${fname}.bin ; then + if test -n "@HAVE_ROCK@"; then opts="-q --no-device-info --no-disc-mode --toc-file ${abs_top_srcdir}/test/data/${fname}.toc --iso9660" test_cdinfo "$opts" ${fname}.dump ${abs_top_srcdir}/test/${fname}.right RC=$? check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts" - else - echo "-- Don't see TOC file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." fi +else + echo "-- Don't see BIN file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." fi + fname=vcd_demo -if test -z "@VCDINFO_LIBS@" ; then - right=${abs_top_srcdir}/test/${fname}.right -else - right=${abs_top_srcdir}/test/${fname}_vcdinfo.right -fi testnum='Video CD' if test -f ${abs_top_srcdir}/test/data/${fname}.bin ; then - opts="-q --no-device-info --no-disc-mode -c ${abs_top_srcdir}/test/data/${fname}.cue --iso9660" - test_cdinfo "$opts" ${fname}.dump $right - RC=$? - check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts" - if test -z "@VCDINFO_LIBS@" ; then right=${abs_top_srcdir}/test/${fname}.right else right=${abs_top_srcdir}/test/${fname}_vcdinfo.right fi + + opts="-q --no-device-info --no-disc-mode -c ${abs_top_srcdir}/test/data/${fname}.cue --iso9660" + test_cdinfo "$opts" ${fname}.dump $right + RC=$? + check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts" + opts="-q --no-device-info --no-disc-mode -t ${abs_top_srcdir}/test/data/${fname}.toc --iso9660" - if test -f ${abs_top_srcdir}/test/${fname}.toc ; then - test_cdinfo "$opts" ${fname}.dump $right - RC=$? - check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts" - else - echo "-- Don't see TOC file ${abs_top_srcdir}/test/data/${fname}.toc. Test $testnum skipped." - fi + test_cdinfo "$opts" ${fname}.dump $right + RC=$? + check_result $RC "cd-info TOC test $testnum" "${CD_INFO} $opts" else echo "-- Don't see BIN file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." fi @@ -125,7 +113,7 @@ if test -f ${abs_top_srcdir}/test/data/${fname}.bin ; then RC=$? check_result $RC "cd-info CUE test $testnum" "${CD_INFO} $opts" else - echo "-- Don't see CUE file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." + echo "-- Don't see BIN file ${abs_top_srcdir}/test/data/${fname}.bin. Test $testnum skipped." fi exit $RC diff --git a/test/data/Makefile.am b/test/data/Makefile.am index 9955e9c6..f31b38e4 100644 --- a/test/data/Makefile.am +++ b/test/data/Makefile.am @@ -16,7 +16,6 @@ check_DATA = \ bad-msf-3.toc \ cdda.bin \ cdda.cue \ - cdda.toc \ cdtext.bin \ cdtext.cdt \ cdtext.cue \ @@ -31,7 +30,7 @@ check_DATA = \ joliet.iso \ p1.bin \ p1.cue \ - p1.nrg \ + p1.nrg \ t1.toc \ t2.toc \ t3.toc \ @@ -44,10 +43,10 @@ check_DATA = \ t10.toc \ vcd2.toc \ videocd.nrg \ - cdtext.toc \ - data5.toc \ - data6.toc \ - data7.toc \ - test-udf1.iso + cdtext.toc \ + data5.toc \ + data6.toc \ + data7.toc \ + test-udf1.iso EXTRA_DIST = $(check_DATA) diff --git a/test/data/cdda.cue b/test/data/cdda.cue index 4ed1bd82..6cb365d0 100644 --- a/test/data/cdda.cue +++ b/test/data/cdda.cue @@ -3,5 +3,7 @@ CATALOG 0000010271955 PERFORMER "Richard Stallman" FILE "CDDA.BIN" BINARY TRACK 01 AUDIO + TITLE "Soft" + PERFORMER "Richard S" FLAGS DCP INDEX 01 00:00:00 diff --git a/test/data/cdda.toc b/test/data/cdda.toc deleted file mode 100644 index 44046d71..00000000 --- a/test/data/cdda.toc +++ /dev/null @@ -1,14 +0,0 @@ -// $Id: cdda.toc,v 1.4 2004/12/31 07:51:43 rocky Exp $ - -// Language number should always start with 0 -LANGUAGE 0 { - // Required fields - at least all CD-TEXT CDs I've seen so far have them. - TITLE "Join us now we have the software" - PERFORMER "Richard Stallman" -} -CATALOG "0000010271955" -CD_DA - -TRACK AUDIO -COPY -FILE "cdda.bin" 00:00:00 00:00:00 diff --git a/test/driver/cdrdao.c.in b/test/driver/cdrdao.c.in index 885b4821..d45fd05b 100644 --- a/test/driver/cdrdao.c.in +++ b/test/driver/cdrdao.c.in @@ -129,6 +129,7 @@ main(int argc, const char *argv[]) } } + /* { CdIo_t *p_cdio; snprintf(psz_tocfile, sizeof(psz_tocfile)-1, @@ -146,6 +147,7 @@ main(int argc, const char *argv[]) check_get_arg_source(p_cdio, psz_tocfile); cdio_destroy(p_cdio); } + */ } diff --git a/test/isofs-m1-no-rr.right b/test/isofs-m1-no-rr.right index 5d8b5d95..7ff67492 100644 --- a/test/isofs-m1-no-rr.right +++ b/test/isofs-m1-no-rr.right @@ -4,7 +4,7 @@ CD-ROM Track List (1 - 1) #: MSF LSN Type Green? Copy? 1: 00:02:00 000000 data false no 170: 00:06:02 000302 leadout (693 KB raw, 604 KB formatted) -Media Catalog Number (MCN): not available +Media Catalog Number (MCN): 0000012101954 Last CD Session LSN: not supported by drive/driver __________________________________ CD Analysis Report @@ -23,7 +23,7 @@ ISO9660 filesystem - [LSN 26] 17992 Jul 29 2002 12:39:53 copying d [LSN 24] 2048 Apr 20 2003 16:18:53 doc -/doc/: +/DOC/: d [LSN 24] 2048 Apr 20 2003 16:18:53 . d [LSN 23] 2048 Apr 20 2003 11:26:46 .. - [LSN 35] 648 Apr 20 2003 16:18:53 readme.txt -- cgit v1.2.3