From efbe4b52a22ea3c4458401a7acbce89a5bf29299 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Sun, 4 May 2025 14:53:21 -0400 Subject: Prepare for cch_handle_write(), cue testing Signed-off-by: Andrew Opalach --- subprojects/packagefiles/libcue/55.diff | 51 +++++++++++++++++++++++ subprojects/packagefiles/libcue/composer_rem.diff | 34 +++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 subprojects/packagefiles/libcue/55.diff create mode 100644 subprojects/packagefiles/libcue/composer_rem.diff (limited to 'subprojects/packagefiles') diff --git a/subprojects/packagefiles/libcue/55.diff b/subprojects/packagefiles/libcue/55.diff new file mode 100644 index 0000000..7c19579 --- /dev/null +++ b/subprojects/packagefiles/libcue/55.diff @@ -0,0 +1,51 @@ +diff --git a/cue_parser.y b/cue_parser.y +index bb3e181..3616908 100644 +--- a/cue_parser.y ++++ b/cue_parser.y +@@ -130,7 +130,7 @@ Cd *cue_parse_string(const char*); + %% + + cuefile +- : new_cd global_statements track_list ++ : new_cd global_statements track_list end_cd + ; + + new_cd +@@ -316,6 +316,11 @@ rem_item + | REPLAYGAIN_TRACK_GAIN + | REPLAYGAIN_TRACK_PEAK + ; ++ ++end_cd ++ : /* empty */ ++ | '\n' end_cd ++ ; + %% + + /* lexer interface */ +diff --git a/t/noncompliant.c b/t/noncompliant.c +index a8d07a1..fb1dcd4 100644 +--- a/t/noncompliant.c ++++ b/t/noncompliant.c +@@ -21,7 +21,7 @@ static char cue[] = + "PERFORMER \"The Specials\"\n" + "INDEX 00 02:47:74\n" + "FILE \"The Specials - Singles - 02 - Rudi, A Message To You.flac\" FLAC\n" +- "INDEX 01 00:00:00\n"; ++ "INDEX 01 00:00:00\n\n\n\n\n\n"; + + static char* cue_test() + { +diff --git a/t/single_idx_00.c b/t/single_idx_00.c +index b1b1c57..6eab3d3 100644 +--- a/t/single_idx_00.c ++++ b/t/single_idx_00.c +@@ -23,7 +23,7 @@ static char cue[] = + "TITLE \"Helicopter\"\n" + "PERFORMER \"Bloc Party\"\n" + "INDEX 00 07:42:69\n" +- "INDEX 01 07:44:69\n"; ++ "INDEX 01 07:44:69"; + + static char* cue_test() + { diff --git a/subprojects/packagefiles/libcue/composer_rem.diff b/subprojects/packagefiles/libcue/composer_rem.diff new file mode 100644 index 0000000..696ea17 --- /dev/null +++ b/subprojects/packagefiles/libcue/composer_rem.diff @@ -0,0 +1,34 @@ +diff --git a/cue_parser.y b/cue_parser.y +index bb3e181..a9a7b2b 100644 +--- a/cue_parser.y ++++ b/cue_parser.y +@@ -122,7 +122,8 @@ Cd *cue_parse_string(const char*); + /* REM */ + %type rem_item + %token DATE +-%token XXX_GENRE /* parsed in REM but stored in CD-TEXT */ ++%token XXX_GENRE /* XXX = parsed in REM but stored in CD-TEXT */ ++%token XXX_COMPOSER + %token REPLAYGAIN_ALBUM_GAIN + %token REPLAYGAIN_ALBUM_PEAK + %token REPLAYGAIN_TRACK_GAIN +@@ -307,6 +308,7 @@ time + rem + : rem_item STRING '\n' { rem_set($1, $2, rem); } + | XXX_GENRE STRING '\n' { cdtext_set($1, $2, cdtext); } ++ | XXX_COMPOSER STRING '\n' { cdtext_set($1, $2, cdtext); } + ; + + rem_item +diff --git a/cue_scanner.l b/cue_scanner.l +index feb7778..0bdb68f 100644 +--- a/cue_scanner.l ++++ b/cue_scanner.l +@@ -102,6 +102,7 @@ REM { BEGIN(REM); /* exclusive rules for special exceptions */ } + + DATE { BEGIN(NAME); yylval.ival = REM_DATE; return DATE; } + GENRE { BEGIN(NAME); yylval.ival = PTI_GENRE; return XXX_GENRE; } ++COMPOSER { BEGIN(NAME); yylval.ival = PTI_COMPOSER; return XXX_COMPOSER; } + REPLAYGAIN_ALBUM_GAIN { BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_GAIN; + return REPLAYGAIN_ALBUM_GAIN; } + REPLAYGAIN_ALBUM_PEAK { BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_PEAK; -- cgit v1.2.3-101-g0448