Redo some of rocky's beautifications.

This commit is contained in:
Leon Merten Lohse
2012-03-09 09:22:25 +01:00
parent abe5b84295
commit 25d6668e8b
2 changed files with 217 additions and 219 deletions

View File

@@ -281,7 +281,7 @@ cdtext_get (const cdtext_t *p_cdtext, cdtext_field_t field, track_t track)
@param track specifies the track, 0 stands for disc @param track specifies the track, 0 stands for disc
*/ */
const char * const char *
cdtext_get_const(const cdtext_t *p_cdtext, cdtext_field_t field, track_t track) cdtext_get_const (const cdtext_t *p_cdtext, cdtext_field_t field, track_t track)
{ {
if (CDTEXT_FIELD_INVALID == field if (CDTEXT_FIELD_INVALID == field
|| NULL == p_cdtext || NULL == p_cdtext
@@ -299,7 +299,7 @@ cdtext_get_const(const cdtext_t *p_cdtext, cdtext_field_t field, track_t track)
@param p_cdtext the CD-TEXT object @param p_cdtext the CD-TEXT object
*/ */
cdtext_lang_t cdtext_lang_t
cdtext_get_language(const cdtext_t *p_cdtext) cdtext_get_language (const cdtext_t *p_cdtext)
{ {
if (NULL == p_cdtext) if (NULL == p_cdtext)
return CDTEXT_LANGUAGE_UNKNOWN; return CDTEXT_LANGUAGE_UNKNOWN;
@@ -328,10 +328,10 @@ cdtext_lang_t
if (CDTEXT_LANGUAGE_UNKNOWN != p_cdtext->block[i].language_code) if (CDTEXT_LANGUAGE_UNKNOWN != p_cdtext->block[i].language_code)
avail[j++] = p_cdtext->block[i].language_code; avail[j++] = p_cdtext->block[i].language_code;
} }
return avail; return avail;
} }
/*! /*!
Try to select the given language. Try to select the given language.
Select default language if specified is not available or invalid and Select default language if specified is not available or invalid and
@@ -343,7 +343,7 @@ cdtext_lang_t
@return true on success, false if language is not available @return true on success, false if language is not available
*/ */
bool bool
cdtext_select_language(cdtext_t *p_cdtext, const char *language) cdtext_select_language (cdtext_t *p_cdtext, const char *language)
{ {
cdtext_lang_t lang_id; cdtext_lang_t lang_id;
lang_id = cdtext_is_language(language); lang_id = cdtext_is_language(language);
@@ -371,6 +371,7 @@ cdtext_select_language(cdtext_t *p_cdtext, const char *language)
When the structure is no longer needed, release the When the structure is no longer needed, release the
resources using cdtext_delete. resources using cdtext_delete.
*/ */
cdtext_t cdtext_t
*cdtext_init (void) *cdtext_init (void)
@@ -388,6 +389,8 @@ cdtext_t
p_cdtext->block[i].track[j].field[k] = NULL; p_cdtext->block[i].track[j].field[k] = NULL;
} }
} }
p_cdtext->block[i].genre_code = CDTEXT_GENRE_UNUSED;
p_cdtext->block[i].language_code = CDTEXT_LANGUAGE_UNKNOWN;
} }
p_cdtext->block_i = 0; p_cdtext->block_i = 0;
@@ -405,7 +408,7 @@ cdtext_t
@return CDTEXT_INVALID if the given keyword is invalid @return CDTEXT_INVALID if the given keyword is invalid
*/ */
cdtext_field_t cdtext_field_t
cdtext_is_field(const char *key) cdtext_is_field (const char *key)
{ {
unsigned int i; unsigned int i;
@@ -450,10 +453,10 @@ cdtext_is_language (const char *lang)
*/ */
void void
cdtext_set (cdtext_t *p_cdtext, cdtext_field_t key, const uint8_t *value, cdtext_set (cdtext_t *p_cdtext, cdtext_field_t key, const uint8_t *value,
track_t track, const char *charset) track_t track, const char *charset)
{ {
if (NULL == value || key == CDTEXT_FIELD_INVALID || 0 > track || 99 < track) if (NULL == value || key == CDTEXT_FIELD_INVALID || 0 > track || 99 < track)
return; return;
/* free old memory */ /* free old memory */
if (p_cdtext->block[p_cdtext->block_i].track[track].field[key]) if (p_cdtext->block[p_cdtext->block_i].track[track].field[key])
@@ -463,12 +466,11 @@ cdtext_set (cdtext_t *p_cdtext, cdtext_field_t key, const uint8_t *value,
if (NULL != charset) { if (NULL != charset) {
cdio_utf8_t *utf8_str = NULL; cdio_utf8_t *utf8_str = NULL;
cdio_charset_to_utf8((const char*) value, strlen((const char*)value), cdio_charset_to_utf8((const char*) value, strlen((const char*)value),
&utf8_str, charset); &utf8_str, charset);
p_cdtext->block[p_cdtext->block_i].track[track].field[key] = p_cdtext->block[p_cdtext->block_i].track[track].field[key] = (char *)utf8_str;
(char *)utf8_str;
} else } else
p_cdtext->block[p_cdtext->block_i].track[track].field[key] = strdup ((const char *)value); p_cdtext->block[p_cdtext->block_i].track[track].field[key] = strdup ((const char *)value);
} }
/*! /*!
Read a binary CD-TEXT and fill a cdtext struct. Read a binary CD-TEXT and fill a cdtext struct.
@@ -482,226 +484,219 @@ cdtext_set (cdtext_t *p_cdtext, cdtext_field_t key, const uint8_t *value,
int int
cdtext_data_init(cdtext_t *p_cdtext, uint8_t *wdata, size_t i_data) cdtext_data_init(cdtext_t *p_cdtext, uint8_t *wdata, size_t i_data)
{ {
/* uint8_t *p_data; */ uint8_t *p_data;
/* int j; */ int j;
/* uint8_t buffer[256]; */ uint8_t buffer[256];
/* int i_buf = 0; */ int i_buf = 0;
/* int i_block; */ int i_block;
/* int i_seq = 0; */ int i_seq = 0;
/* int i; */ int i;
/* cdtext_blocksize_t blocksize; */ cdtext_blocksize_t blocksize;
/* char *charset = NULL; */ char *charset = NULL;
/* p_data = wdata; */ memset( buffer, 0, sizeof(buffer) );
/* if (i_data < CDTEXT_LEN_PACK || 0 != i_data % CDTEXT_LEN_PACK) { */
/* cdio_warn("CD-Text size is not multiple of pack size"); */
/* return -1; */
/* } */
/* #if 0 */ p_data = wdata;
/* for(i=0; i < i_data; i++) */ if (i_data < CDTEXT_LEN_PACK || 0 != i_data % CDTEXT_LEN_PACK) {
/* printf("%0x%c", wdata[i], ((i+1) % 18 == 0 ? '\n' : ' ')); */ cdio_warn("CD-Text size is not multiple of pack size");
/* #endif */ return -1;
}
#if 0
for(i=0; i < i_data; i++)
printf("%0x%c", wdata[i], ((i+1) % 18 == 0 ? '\n' : ' '));
#endif
/* /\* Iterate over blocks *\/ */ /* Iterate over blocks */
/* i_block = -1; */ i_block = -1;
/* while(i_data > 0) { */ while(i_data > 0) {
/* cdtext_pack_t pack; */ cdtext_pack_t pack;
/* cdtext_read_pack(&pack, p_data); */ cdtext_read_pack(&pack, p_data);
/* if (i_block != pack.block || i_seq != pack.seq) { */ if (i_block != pack.block || i_seq != pack.seq) {
/* cdtext_pack_t tpack; */ cdtext_pack_t tpack;
/* i_block = pack.block; */ i_block = pack.block;
/* if (i_block >= CDTEXT_NUM_BLOCKS_MAX) { */ if (i_block >= CDTEXT_NUM_BLOCKS_MAX) {
/* cdio_warn("CD-TEXT: Invalid blocknumber %d.\n", i_block); */ cdio_warn("CD-TEXT: Invalid blocknumber %d.\n", i_block);
/* return -1; */ return -1;
/* } */ }
/* p_cdtext->block_i = i_block; */ p_cdtext->block_i = i_block;
/* i_seq = 0; */ i_seq = 0;
/* memset( &blocksize, 0, CDTEXT_LEN_BLOCKSIZE); */ memset( &blocksize, 0, CDTEXT_LEN_BLOCKSIZE);
/* /\* first read block size information for sanity checks and encoding *\/ */ /* first read block size information for sanity checks and encoding */
/* for(i=0; i <= i_data-CDTEXT_LEN_PACK; i+=CDTEXT_LEN_PACK) { */ for(i=0; i <= i_data-CDTEXT_LEN_PACK; i+=CDTEXT_LEN_PACK) {
/* if (p_data[i+0] == CDTEXT_PACK_BLOCKSIZE) { */ if (p_data[i+0] == CDTEXT_PACK_BLOCKSIZE) {
/* cdtext_read_pack(&tpack, p_data+i); */ cdtext_read_pack(&tpack, p_data+i);
/* switch (tpack.i_track) { */ switch (tpack.i_track) {
/* case 0: */ case 0:
/* blocksize.charcode = tpack.text[0]; */ blocksize.charcode = tpack.text[0];
/* blocksize.i_first_track = tpack.text[1]; */ blocksize.i_first_track = tpack.text[1];
/* blocksize.i_last_track = tpack.text[2]; */ blocksize.i_last_track = tpack.text[2];
/* blocksize.copyright = tpack.text[3]; */ blocksize.copyright = tpack.text[3];
/* blocksize.i_packs[0] = tpack.text[4]; */ blocksize.i_packs[0] = tpack.text[4];
/* blocksize.i_packs[1] = tpack.text[5]; */ blocksize.i_packs[1] = tpack.text[5];
/* blocksize.i_packs[2] = tpack.text[6]; */ blocksize.i_packs[2] = tpack.text[6];
/* blocksize.i_packs[3] = tpack.text[7]; */ blocksize.i_packs[3] = tpack.text[7];
/* blocksize.i_packs[4] = tpack.text[8]; */ blocksize.i_packs[4] = tpack.text[8];
/* blocksize.i_packs[5] = tpack.text[9]; */ blocksize.i_packs[5] = tpack.text[9];
/* blocksize.i_packs[6] = tpack.text[10]; */ blocksize.i_packs[6] = tpack.text[10];
/* blocksize.i_packs[7] = tpack.text[11]; */ blocksize.i_packs[7] = tpack.text[11];
/* break; */ break;
/* case 1: */ case 1:
/* blocksize.i_packs[8] = tpack.text[0]; */ blocksize.i_packs[8] = tpack.text[0];
/* blocksize.i_packs[9] = tpack.text[1]; */ blocksize.i_packs[9] = tpack.text[1];
/* blocksize.i_packs[10] = tpack.text[2]; */ blocksize.i_packs[10] = tpack.text[2];
/* blocksize.i_packs[11] = tpack.text[3]; */ blocksize.i_packs[11] = tpack.text[3];
/* blocksize.i_packs[12] = tpack.text[4]; */ blocksize.i_packs[12] = tpack.text[4];
/* blocksize.i_packs[13] = tpack.text[5]; */ blocksize.i_packs[13] = tpack.text[5];
/* blocksize.i_packs[14] = tpack.text[6]; */ blocksize.i_packs[14] = tpack.text[6];
/* blocksize.i_packs[15] = tpack.text[7]; */ blocksize.i_packs[15] = tpack.text[7];
/* blocksize.lastseq[0] = tpack.text[8]; */ blocksize.lastseq[0] = tpack.text[8];
/* blocksize.lastseq[1] = tpack.text[9]; */ blocksize.lastseq[1] = tpack.text[9];
/* blocksize.lastseq[2] = tpack.text[10]; */ blocksize.lastseq[2] = tpack.text[10];
/* blocksize.lastseq[3] = tpack.text[11]; */ blocksize.lastseq[3] = tpack.text[11];
/* break; */ break;
/* case 2: */ case 2:
/* blocksize.lastseq[4] = tpack.text[0]; */ blocksize.lastseq[4] = tpack.text[0];
/* blocksize.lastseq[5] = tpack.text[1]; */ blocksize.lastseq[5] = tpack.text[1];
/* blocksize.lastseq[6] = tpack.text[2]; */ blocksize.lastseq[6] = tpack.text[2];
/* blocksize.lastseq[7] = tpack.text[3]; */ blocksize.lastseq[7] = tpack.text[3];
/* blocksize.langcode[0] = tpack.text[4]; */ blocksize.langcode[0] = tpack.text[4];
/* blocksize.langcode[1] = tpack.text[5]; */ blocksize.langcode[1] = tpack.text[5];
/* blocksize.langcode[2] = tpack.text[6]; */ blocksize.langcode[2] = tpack.text[6];
/* blocksize.langcode[3] = tpack.text[7]; */ blocksize.langcode[3] = tpack.text[7];
/* blocksize.langcode[4] = tpack.text[8]; */ blocksize.langcode[4] = tpack.text[8];
/* blocksize.langcode[5] = tpack.text[9]; */ blocksize.langcode[5] = tpack.text[9];
/* blocksize.langcode[6] = tpack.text[10]; */ blocksize.langcode[6] = tpack.text[10];
/* blocksize.langcode[7] = tpack.text[11]; */ blocksize.langcode[7] = tpack.text[11];
/* break; */ break;
/* } */ }
/* } */ }
}
/* if(blocksize.i_packs[15] == 3) { */ if(blocksize.i_packs[15] == 3) {
/* /\* if there were 3 BLOCKSIZE packs *\/ */ /* if there were 3 BLOCKSIZE packs */
/* /\* set copyright *\/ */ /* set copyright */
/* p_cdtext->block[i_block].copyright = (0x03 == (blocksize.copyright & 0x03)); */ p_cdtext->block[i_block].copyright = (0x03 == (blocksize.copyright & 0x03));
/* /\* set Language *\/ */ /* set Language */
/* if(blocksize.langcode[i_block] <= 0x7f) */ if(blocksize.langcode[i_block] <= 0x7f)
/* p_cdtext->block[i_block].language_code = blocksize.langcode[i_block]; */ p_cdtext->block[i_block].language_code = blocksize.langcode[i_block];
/* /\* determine encoding *\/ */ /* determine encoding */
/* switch (blocksize.charcode){ */ switch (blocksize.charcode){
/* case CDTEXT_CHARCODE_ISO_8859_1: */ case CDTEXT_CHARCODE_ISO_8859_1:
/* /\* default *\/ */ /* default */
/* charset = (char *) "ISO-8859-1"; */ charset = (char *) "ISO-8859-1";
/* break; */ break;
/* case CDTEXT_CHARCODE_ASCII: */ case CDTEXT_CHARCODE_ASCII:
/* charset = (char *) "ASCII"; */ charset = (char *) "ASCII";
/* break; */ break;
/* case CDTEXT_CHARCODE_SHIFT_JIS: */ case CDTEXT_CHARCODE_SHIFT_JIS:
/* charset = (char *) "SHIFT_JIS"; */ charset = (char *) "SHIFT_JIS";
/* break; */ break;
/* } */ }
/* } else { */ } else {
/* cdio_warn("CD-TEXT: No blocksize information available for block %d.\n", i_block); */ cdio_warn("CD-TEXT: No blocksize information available for block %d.\n", i_block);
/* return -1; */ return -1;
/* } */ }
/* } */ }
/* cdtext_read_pack(&pack, p_data); */ cdtext_read_pack(&pack, p_data);
/* #ifndef _CDTEXT_DBCC */ #ifndef _CDTEXT_DBCC
/* if ( pack.db_chars ) { */ if ( pack.db_chars ) {
/* cdio_warn("CD-TEXT: Double-byte characters not supported"); */ cdio_warn("CD-TEXT: Double-byte characters not supported");
/* return -1; */ return -1;
/* } */ }
/* #endif */ #endif
/* /\* read text packs first *\/ */ /* read text packs first */
/* j = 0; */ j = 0;
/* switch (pack.type) { */ switch (pack.type) {
/* case CDTEXT_PACK_GENRE: */ case CDTEXT_PACK_GENRE:
/* /\* If pack.text starts with an unprintable character, it is likely to bethe genre_code. */ /* If pack.text starts with an unprintable character, it is likely to be the genre_code.
/* * While the specification requires the first GENRE pack to start with te 2 byte genre code, */ * While the specification requires the first GENRE pack to start with the 2 byte genre code,
/* * it is not specific about the following ones. *\/ */ * it is not specific about the following ones. */
/* if (pack.text[0] <= 31) { */ if (pack.text[0] <= 31) {
/* j = 2; */ j = 2;
/* if (CDTEXT_GENRE_UNUSED == p_cdtext->block[i_block].genre_code) */ if (CDTEXT_GENRE_UNUSED == p_cdtext->block[i_block].genre_code)
/* p_cdtext->block[i_block].genre_code = CDTEXT_GET_LEN16(pack.text); */ p_cdtext->block[i_block].genre_code = CDTEXT_GET_LEN16(pack.text);
/* } */ }
/* case CDTEXT_PACK_TITLE: */ case CDTEXT_PACK_TITLE:
/* case CDTEXT_PACK_PERFORMER: */ case CDTEXT_PACK_PERFORMER:
/* case CDTEXT_PACK_SONGWRITER: */ case CDTEXT_PACK_SONGWRITER:
/* case CDTEXT_PACK_COMPOSER: */ case CDTEXT_PACK_COMPOSER:
/* case CDTEXT_PACK_ARRANGER: */ case CDTEXT_PACK_ARRANGER:
/* case CDTEXT_PACK_MESSAGE: */ case CDTEXT_PACK_MESSAGE:
/* case CDTEXT_PACK_DISCID: */ case CDTEXT_PACK_DISCID:
/* case CDTEXT_PACK_UPC: */ case CDTEXT_PACK_UPC:
/* while (j < CDTEXT_LEN_TEXTDATA) { */ while (j < CDTEXT_LEN_TEXTDATA) {
/* /\* not terminated *\/ */ /* not terminated */
/* if (pack.text[j] != 0 || (pack.db_chars && pack.text[j+1] != 0)) { */ if (pack.text[j] != 0 || (pack.db_chars && pack.text[j+1] != 0)) {
/* buffer[i_buf++] = pack.text[j]; */ buffer[i_buf++] = pack.text[j];
/* if(pack.db_chars) */ if(pack.db_chars)
/* buffer[i_buf++] = pack.text[j+1]; */ buffer[i_buf++] = pack.text[j+1];
/* } else if(i_buf > 1) { */ } else if(i_buf > 1) {
/* buffer[i_buf++] = 0; */ buffer[i_buf++] = 0;
/* if(pack.db_chars) */ if(pack.db_chars)
/* buffer[i_buf++] = 0; */ buffer[i_buf++] = 0;
/* switch (pack.type) { */ switch (pack.type) {
/* case CDTEXT_PACK_TITLE: */ case CDTEXT_PACK_TITLE:
/* cdtext_set(p_cdtext, CDTEXT_FIELD_TITLE, buffer, */ cdtext_set(p_cdtext, CDTEXT_FIELD_TITLE, buffer, pack.i_track, charset);
/* pack.i_track, charset); */ break;
/* break; */ case CDTEXT_PACK_PERFORMER:
/* case CDTEXT_PACK_PERFORMER: */ cdtext_set(p_cdtext, CDTEXT_FIELD_PERFORMER, buffer, pack.i_track, charset);
/* cdtext_set(p_cdtext, CDTEXT_FIELD_PERFORMER, buffer, */ break;
/* pack.i_track, charset); */ case CDTEXT_PACK_SONGWRITER:
/* break; */ cdtext_set(p_cdtext, CDTEXT_FIELD_SONGWRITER, buffer, pack.i_track, charset);
/* case CDTEXT_PACK_SONGWRITER: */ break;
/* cdtext_set(p_cdtext, CDTEXT_FIELD_SONGWRITER, buffer, */ case CDTEXT_PACK_COMPOSER:
/* pack.i_track, charset); */ cdtext_set(p_cdtext, CDTEXT_FIELD_COMPOSER, buffer, pack.i_track, charset);
/* break; */ break;
/* case CDTEXT_PACK_COMPOSER: */ case CDTEXT_PACK_ARRANGER:
/* cdtext_set(p_cdtext, CDTEXT_FIELD_COMPOSER, buffer, */ cdtext_set(p_cdtext, CDTEXT_FIELD_ARRANGER, buffer, pack.i_track, charset);
/* pack.i_track, charset); */ break;
/* break; */ case CDTEXT_PACK_MESSAGE:
/* case CDTEXT_PACK_ARRANGER: */ cdtext_set(p_cdtext, CDTEXT_FIELD_MESSAGE, buffer, pack.i_track, charset);
/* cdtext_set(p_cdtext, CDTEXT_FIELD_ARRANGER, buffer, */ break;
/* pack.i_track, charset); */ case CDTEXT_PACK_DISCID:
/* break; */ if (pack.i_track == 0)
/* case CDTEXT_PACK_MESSAGE: */ cdtext_set(p_cdtext, CDTEXT_FIELD_DISCID, buffer, pack.i_track, NULL);
/* cdtext_set(p_cdtext, CDTEXT_FIELD_MESSAGE, buffer, */ break;
/* pack.i_track,charset); */ case CDTEXT_PACK_GENRE:
/* break; */ cdtext_set(p_cdtext, CDTEXT_FIELD_GENRE, buffer, pack.i_track, "ASCII");
/* case CDTEXT_PACK_DISCID: */ break;
/* if (pack.i_track == 0) */ case CDTEXT_PACK_UPC:
/* cdtext_set(p_cdtext, CDTEXT_FIELD_DISCID, buffer, */ if (pack.i_track == 0)
/* pack.i_track, NULL); */ cdtext_set(p_cdtext, CDTEXT_FIELD_UPC_EAN, buffer, pack.i_track, "ASCII");
/* break; */ else
/* case CDTEXT_PACK_GENRE: */ cdtext_set(p_cdtext, CDTEXT_FIELD_ISRC, buffer, pack.i_track, "ISO-8859-1");
/* cdtext_set(p_cdtext, CDTEXT_FIELD_GENRE, buffer, */ break;
/* pack.i_track, "ASCII"); */ }
/* break; */ i_buf = 0;
/* case CDTEXT_PACK_UPC: */
/* if (pack.i_track == 0) */
/* cdtext_set(p_cdtext, CDTEXT_FIELD_UPC_EAN, buffer, */
/* pack.i_track, "ASCII"); */
/* else */
/* cdtext_set(p_cdtext, CDTEXT_FIELD_ISRC, buffer, */
/* pack.i_track, "ISO-8859-1"); */
/* break; */
/* } */
/* i_buf = 0; */
/* } */ }
/* if (pack.db_chars) */ if (pack.db_chars)
/* j+=2; */ j+=2;
/* else */ else
/* j+=1; */ j+=1;
/* } */ }
/* break; */ break;
/* } */ }
/* /\* This would be the right place to parse TOC and TOC2 fields. *\/ */ /* This would be the right place to parse TOC and TOC2 fields. */
/* i_seq++; */ i_seq++;
/* i_data-=CDTEXT_LEN_PACK; */ i_data-=CDTEXT_LEN_PACK;
/* p_data+=CDTEXT_LEN_PACK; */ p_data+=CDTEXT_LEN_PACK;
/* } /\* end of while loop *\/ */ } /* end of while loop */
/* p_cdtext->block_i = 0; */ p_cdtext->block_i = 0;
return 0; return 0;
} }

View File

@@ -335,10 +335,11 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
if(NULL != (psz_field = strtok (NULL, "\"\t\n\r"))) { if(NULL != (psz_field = strtok (NULL, "\"\t\n\r"))) {
if (cd) { if (cd) {
uint8_t cdt_data[CDTEXT_LEN_BINARY_MAX+4]; uint8_t cdt_data[CDTEXT_LEN_BINARY_MAX+4];
uint8_t *ptr;
int size; int size;
CdioDataSource_t *source; CdioDataSource_t *source;
const char *dirname = cdio_dirname(psz_cue_name); const char *dirname = cdio_dirname(psz_cue_name);
const char *psz_filename = cdio_abspath (dirname, psz_field); const char *psz_filename = cdio_abspath (dirname, psz_field);
if(NULL == (source = cdio_stdio_new(psz_filename))) { if(NULL == (source = cdio_stdio_new(psz_filename))) {
cdio_log (log_level, "%s line %d: can't open file `%s' for reading", psz_cue_name, i_line, psz_field); cdio_log (log_level, "%s line %d: can't open file `%s' for reading", psz_cue_name, i_line, psz_field);
@@ -347,16 +348,18 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
size = cdio_stream_read(source, cdt_data, CDTEXT_LEN_BINARY_MAX, 1); size = cdio_stream_read(source, cdt_data, CDTEXT_LEN_BINARY_MAX, 1);
if (size < 5) { if (size < 5) {
cdio_log (log_level, cdio_log (log_level, "%s line %d: file `%s' is too small to contain CD-TEXT",
"%s line %d: file `%s' is too small to contain CD-TEXT", psz_cue_name, i_line, (char *) psz_filename);
psz_cue_name, i_line, (char *) psz_filename);
goto err_exit; goto err_exit;
} }
/* cut header */ /* cut header */
if (cdt_data[0] > 0x80) { if (cdt_data[0] > 0x80) {
ptr = &cdt_data[4];
size -= 4; size -= 4;
} }
else
ptr = cdt_data;
/* ignore trailing 0 */ /* ignore trailing 0 */
if (1 == size % 18) if (1 == size % 18)