diff options
Diffstat (limited to 'subprojects/packagefiles/libcue')
| -rw-r--r-- | subprojects/packagefiles/libcue/55.diff | 51 | ||||
| -rw-r--r-- | subprojects/packagefiles/libcue/composer_rem.diff | 34 |
2 files changed, 85 insertions, 0 deletions
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 <ival> rem_item + %token <ival> DATE +-%token <ival> XXX_GENRE /* parsed in REM but stored in CD-TEXT */ ++%token <ival> XXX_GENRE /* XXX = parsed in REM but stored in CD-TEXT */ ++%token <ival> XXX_COMPOSER + %token <ival> REPLAYGAIN_ALBUM_GAIN + %token <ival> REPLAYGAIN_ALBUM_PEAK + %token <ival> 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 */ } + + <REM>DATE { BEGIN(NAME); yylval.ival = REM_DATE; return DATE; } + <REM>GENRE { BEGIN(NAME); yylval.ival = PTI_GENRE; return XXX_GENRE; } ++<REM>COMPOSER { BEGIN(NAME); yylval.ival = PTI_COMPOSER; return XXX_COMPOSER; } + <REM>REPLAYGAIN_ALBUM_GAIN { BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_GAIN; + return REPLAYGAIN_ALBUM_GAIN; } + <REM>REPLAYGAIN_ALBUM_PEAK { BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_PEAK; |