diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/cuesheet.c | 6 | ||||
-rw-r--r-- | apps/cuesheet.h | 12 |
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) | |||
194 | break; | 194 | break; |
195 | } | 195 | } |
196 | 196 | ||
197 | if (dest) | 197 | if (dest) { |
198 | strncpy(dest, string, MAX_NAME); | 198 | dest = iso_decode(string, dest, -1, MIN(strlen(string), MAX_NAME)); |
199 | *dest = '\0'; | ||
200 | } | ||
199 | } | 201 | } |
200 | } | 202 | } |
201 | close(fd); | 203 | 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 @@ | |||
27 | #define MAX_TRACKS 99 /* Max number of tracks in a cuesheet */ | 27 | #define MAX_TRACKS 99 /* Max number of tracks in a cuesheet */ |
28 | 28 | ||
29 | struct cue_track_info { | 29 | struct cue_track_info { |
30 | char title[MAX_NAME]; | 30 | char title[MAX_NAME*3+1]; |
31 | char performer[MAX_NAME]; | 31 | char performer[MAX_NAME*3+1]; |
32 | char songwriter[MAX_NAME]; | 32 | char songwriter[MAX_NAME*3+1]; |
33 | unsigned long offset; /* ms from start of track */ | 33 | unsigned long offset; /* ms from start of track */ |
34 | }; | 34 | }; |
35 | 35 | ||
@@ -37,9 +37,9 @@ struct cuesheet { | |||
37 | char path[MAX_PATH]; | 37 | char path[MAX_PATH]; |
38 | char audio_filename[MAX_PATH]; | 38 | char audio_filename[MAX_PATH]; |
39 | 39 | ||
40 | char title[MAX_NAME]; | 40 | char title[MAX_NAME*3+1]; |
41 | char performer[MAX_NAME]; | 41 | char performer[MAX_NAME*3+1]; |
42 | char songwriter[MAX_NAME]; | 42 | char songwriter[MAX_NAME*3+1]; |
43 | 43 | ||
44 | int track_count; | 44 | int track_count; |
45 | struct cue_track_info tracks[MAX_TRACKS]; | 45 | struct cue_track_info tracks[MAX_TRACKS]; |