Add cdtext display to cd-info and adjust regression tests accordingly.

cd-read.c: don't try to print null strings.
This commit is contained in:
rocky
2004-07-16 21:29:24 +00:00
parent 03db2d51c5
commit ca69284de2
7 changed files with 89 additions and 42 deletions

View File

@@ -1,5 +1,5 @@
/*
$Id: cd-info.c,v 1.70 2004/06/23 09:28:02 rocky Exp $
$Id: cd-info.c,v 1.71 2004/07/16 21:29:25 rocky Exp $
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
@@ -39,6 +39,7 @@
#include <cdio/util.h>
#include <cdio/cd_types.h>
#include <cdio/cdtext.h>
#include <cdio/iso9660.h>
#include "cdio_assert.h"
@@ -380,7 +381,25 @@ _log_handler (cdio_log_level_t level, const char message[])
gl_default_cdio_log_handler (level, message);
}
static void
print_cdtext_info(CdIo *cdio) {
const cdtext_t *cdtext = cdio_get_cdtext(cdio);
if (NULL != cdtext) {
cdtext_field_t i;
printf("\nCD-TEXT info:\n");
for (i=0; i < MAX_CDTEXT_FIELDS; i++) {
if (cdtext->field[i]) {
printf("\t%s: %s\n", cdtext_field2str(i), cdtext->field[i]);
}
}
} else {
printf("Didn't get CD-TEXT info.\n");
}
}
#ifdef HAVE_CDDB
static void
print_cddb_info(CdIo *cdio, track_t num_tracks, track_t first_track_num) {
@@ -637,6 +656,7 @@ print_analysis(int ms_offset, cdio_iso_analysis_t cdio_iso_analysis,
#ifdef HAVE_CDDB
if (!opts.no_cddb) print_cddb_info(p_cdio, num_tracks, first_track_num);
#endif
print_cdtext_info(p_cdio);
}
break;
case CDIO_FS_ISO_9660:

View File

@@ -1,5 +1,5 @@
/*
$Id: cd-read.c,v 1.19 2004/05/31 14:52:04 rocky Exp $
$Id: cd-read.c,v 1.20 2004/07/16 21:29:35 rocky Exp $
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -484,7 +484,7 @@ main(int argc, const char *argv[])
cdio = cdio_open (source_name, DRIVER_DEVICE);
if (cdio==NULL) {
err_exit("Error in automatically selecting device with input %s\n",
source_name);
source_name ? source_name : "(null)");
}
break;
@@ -492,21 +492,21 @@ main(int argc, const char *argv[])
cdio = cdio_open (source_name, DRIVER_BINCUE);
if (cdio==NULL) {
err_exit("Error in opening bin/cue file %s\n",
source_name);
source_name ? source_name : "(null)");
}
break;
case IMAGE_CUE:
cdio = cdio_open_cue(source_name);
if (cdio==NULL) {
err_exit("Error in opening cue/bin file %s with input\n",
source_name);
source_name ? source_name : "(null)");
}
break;
case IMAGE_NRG:
cdio = cdio_open (source_name, DRIVER_NRG);
if (cdio==NULL) {
err_exit("Error in opening NRG file %s for input\n",
source_name);
source_name ? source_name : "(null)");
}
break;
@@ -514,7 +514,7 @@ main(int argc, const char *argv[])
cdio = cdio_open (source_name, DRIVER_CDRDAO);
if (cdio==NULL) {
err_exit("Error in opening TOC file %s for input\n",
source_name);
source_name ? source_name : "(null)");
}
break;
}