summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/packagefiles')
-rw-r--r--subprojects/packagefiles/libcue/55.diff51
-rw-r--r--subprojects/packagefiles/libcue/composer_rem.diff34
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;