From 62dee6514ae8a704087206cede6831e049c72000 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 29 Sep 2012 10:05:49 +0200 Subject: [PATCH] Fixed sorting folders before recordings in case of UTF-8 --- CONTRIBUTORS | 1 + HISTORY | 3 ++- recording.c | 8 ++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 3054fd3e..a275edbb 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2959,3 +2959,4 @@ Jens Vogel Sören Moch for a patch that was used to move cleaning up the EPG data and writing the epg.data file into a separate thread to avoid sluggish response to user input on slow systems + for fixing sorting folders before recordings in case of UTF-8 diff --git a/HISTORY b/HISTORY index b6de7bde..fdf09457 100644 --- a/HISTORY +++ b/HISTORY @@ -7235,7 +7235,7 @@ Video Disk Recorder Revision History function in order to make use of this new feature. See, for instance, the function cSkinClassicDisplayMenu::SetButtons() in skinclassic.c for details. -2012-09-24: Version 1.7.31 +2012-09-29: Version 1.7.31 - If regenerating an index file fails and no data is written to the file, VDR now reports this error and removes the empty index file. @@ -7261,3 +7261,4 @@ Video Disk Recorder Revision History - Moved cleaning up the EPG data and writing the epg.data file into a separate thread to avoid sluggish response to user input on slow systems (based on a patch from Sören Moch). +- Fixed sorting folders before recordings in case of UTF-8 (thanks to Sören Moch). diff --git a/recording.c b/recording.c index 6121ee27..dc77a84c 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 2.62 2012/09/17 08:54:00 kls Exp $ + * $Id: recording.c 2.63 2012/09/29 10:04:55 kls Exp $ */ #include "recording.h" @@ -820,9 +820,13 @@ char *cRecording::StripEpisodeName(char *s) t++; } if (s1 && s2) { + // To have folders sorted before plain recordings, the '/' s1 points to + // is replaced by the character 'b'. All other slashes will be replaced + // by 'a' in SortName() (see below), which will result in the desired + // sequence: + *s1 = 'b'; s1++; memmove(s1, s2, t - s2 + 1); - *s1 = 0xFF; // sorts folders before plain recordings } return s; }