diff -Nru vdr-1.5.10/recording.c vdr-1.5.10-sortrecordings/recording.c --- vdr-1.5.10/recording.c 2007-10-19 14:31:54.000000000 +0200 +++ vdr-1.5.10-sortrecordings/recording.c 2007-10-19 22:17:49.000000000 +0200 @@ -655,8 +655,8 @@ s1 = t; } t++; - } - if (s1 && s2) + } *s1 = 255; + if (s1 && s2 && s1 != s && !strchr(".-$ยช", *(s1 - 1))) memmove(s1 + 1, s2, t - s2 + 1); return s; } @@ -664,7 +664,7 @@ char *cRecording::SortName(void) const { if (!sortBuffer) { - char *s = StripEpisodeName(strdup(FileName() + strlen(VideoDirectory) + 1)); + char *s = StripEpisodeName(strdup(FileName() + strlen(VideoDirectory) )); strreplace(s, '/', 'a'); // some locales ignore '/' when sorting int l = strxfrm(NULL, s, 0) + 1; sortBuffer = MALLOC(char, l);