summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorRobert Kukla <roolku@rockbox.org>2007-11-12 12:39:56 +0000
committerRobert Kukla <roolku@rockbox.org>2007-11-12 12:39:56 +0000
commite1c45d227b0f52189e13baf1359ddd17e1d48745 (patch)
tree2b787446ce662a0a9b58c3e92c7487d4e3da54b2 /apps
parent1ba1c684cb73d480013da4c29cea79d1eeeec765 (diff)
downloadrockbox-e1c45d227b0f52189e13baf1359ddd17e1d48745.zip
rockbox-e1c45d227b0f52189e13baf1359ddd17e1d48745.tar.gz
rockbox-e1c45d227b0f52189e13baf1359ddd17e1d48745.tar.bz2
rockbox-e1c45d227b0f52189e13baf1359ddd17e1d48745.tar.xz
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
Diffstat (limited to 'apps')
-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 d5fbc54..0928ac7 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 f66b25e..76ffe96 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];