|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
|
|
|
|
|
/* Copyright (c) 2011 Thomas Schmitt <scdbackup@gmx.net>
|
|
|
|
|
/* Copyright (c) 2011 - 2016 Thomas Schmitt <scdbackup@gmx.net>
|
|
|
|
|
Provided under GPL version 2 or later. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
@ -1620,7 +1620,7 @@ static int burn_make_v07t(unsigned char *text_packs, int num_packs, |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Obtain first_tno and last_tno from type 0x88 if present. */ |
|
|
|
|
/* Obtain first_tno and last_tno from type 0x8f if present. */ |
|
|
|
|
if (first_tno <= 0) { |
|
|
|
|
if (pack[5] > 0 && pack[5] + pack[6] < 100 && |
|
|
|
|
pack[5] <= pack[6]) { |
|
|
|
@ -1647,6 +1647,21 @@ static int burn_make_v07t(unsigned char *text_packs, int num_packs, |
|
|
|
|
/* Report content */ |
|
|
|
|
result_size = 0; |
|
|
|
|
for (block = 0; block < 8; block++) { |
|
|
|
|
/* Obtain character code, reject unknown ones */ |
|
|
|
|
ret = search_pack(text_packs, num_packs, 0, 0x8f, block,
|
|
|
|
|
&pack, &pack_no, 0); |
|
|
|
|
if (ret > 0) |
|
|
|
|
*char_code = pack[4]; |
|
|
|
|
if (*char_code != 0x00 && *char_code != 0x01 && |
|
|
|
|
*char_code != 0x80) { |
|
|
|
|
sprintf(msg, |
|
|
|
|
"CD-TEXT block %d with unknown character code %2.2x", |
|
|
|
|
block, (unsigned int) *char_code); |
|
|
|
|
libdax_msgs_submit(libdax_messenger, -1, 0x0002019f, |
|
|
|
|
LIBDAX_MSGS_SEV_FAILURE, |
|
|
|
|
LIBDAX_MSGS_PRIO_HIGH, msg, 0, 0); |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
ret = report_block(text_packs, num_packs, block,
|
|
|
|
|
first_tno, last_tno, *char_code, |
|
|
|
|
result, result_size, flag & 1); |
|
|
|
@ -1656,16 +1671,7 @@ static int burn_make_v07t(unsigned char *text_packs, int num_packs, |
|
|
|
|
continue; |
|
|
|
|
result_size = ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef NIX |
|
|
|
|
if (flag & 1) |
|
|
|
|
return result_size; |
|
|
|
|
return (int) strlen((char *) result); |
|
|
|
|
#else /* NIX */ |
|
|
|
|
|
|
|
|
|
return result_size; |
|
|
|
|
|
|
|
|
|
#endif /* ! NIX */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|