summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/cuesheet.c6
-rw-r--r--apps/cuesheet.h12
2 files changed, 10 insertions, 8 deletions
diff --git a/apps/cuesheet.c b/apps/cuesheet.c
index d5fbc54f73..0928ac7e46 100644
--- a/apps/cuesheet.c
+++ b/apps/cuesheet.c
@@ -194,8 +194,10 @@ bool parse_cuesheet(char *file, struct cuesheet *cue)
break;
}
- if (dest)
- strncpy(dest, string, MAX_NAME);
+ if (dest) {
+ dest = iso_decode(string, dest, -1, MIN(strlen(string), MAX_NAME));
+ *dest = '\0';
+ }
}
}
close(fd);
diff --git a/apps/cuesheet.h b/apps/cuesheet.h
index f66b25e800..76ffe9681d 100644
--- a/apps/cuesheet.h
+++ b/apps/cuesheet.h
@@ -27,9 +27,9 @@
#define MAX_TRACKS 99 /* Max number of tracks in a cuesheet */
struct cue_track_info {
- char title[MAX_NAME];
- char performer[MAX_NAME];
- char songwriter[MAX_NAME];
+ char title[MAX_NAME*3+1];
+ char performer[MAX_NAME*3+1];
+ char songwriter[MAX_NAME*3+1];
unsigned long offset; /* ms from start of track */
};
@@ -37,9 +37,9 @@ struct cuesheet {
char path[MAX_PATH];
char audio_filename[MAX_PATH];
- char title[MAX_NAME];
- char performer[MAX_NAME];
- char songwriter[MAX_NAME];
+ char title[MAX_NAME*3+1];
+ char performer[MAX_NAME*3+1];
+ char songwriter[MAX_NAME*3+1];
int track_count;
struct cue_track_info tracks[MAX_TRACKS];