Index: apps/cuesheet.c =================================================================== --- apps/cuesheet.c (revision 12960) +++ apps/cuesheet.c (working copy) @@ -180,8 +180,10 @@ 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); Index: apps/cuesheet.h =================================================================== --- apps/cuesheet.h (revision 12960) +++ apps/cuesheet.h (working copy) @@ -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,8 +37,8 @@ char path[MAX_PATH]; char audio_filename[MAX_PATH]; - char title[MAX_NAME]; - char performer[MAX_NAME]; + char title[MAX_NAME*3+1]; + char performer[MAX_NAME*3+1]; int track_count; struct cue_track_info tracks[MAX_TRACKS];