From e1c45d227b0f52189e13baf1359ddd17e1d48745 Mon Sep 17 00:00:00 2001 From: Robert Kukla Date: Mon, 12 Nov 2007 12:39:56 +0000 Subject: FS#6944 - honour the default codepage setting when reading cue sheets git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15595 a1c6a512-1295-4272-9138-f99709370657 --- apps/cuesheet.c | 6 ++++-- 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) 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]; -- cgit v1.2.3