--- recording.orig.c 2006-03-24 22:34:50.560980424 +0100 +++ recording.c 2006-03-24 22:31:05.883136648 +0100 @@ -700,14 +700,20 @@ const char *cRecording::Title(char Delimiter, bool NewIndicator, int Level) const { char New = NewIndicator && IsNew() ? '*' : ' '; + char buffer[256] = {0}; free(titleBuffer); titleBuffer = NULL; if (Level < 0 || Level == HierarchyLevels()) { struct tm tm_r; struct tm *t = localtime_r(&start, &tm_r); char *s; - if (Level > 0 && (s = strrchr(name, '~')) != NULL) + if (Level > 0 && (s = strrchr(name, '~')) != NULL) { s++; + if (strlen(s) == 1) { + strncpy(buffer, name, strlen(name) - 2); + s = buffer; + } + } else s = name; asprintf(&titleBuffer, "%02d.%02d.%02d%c%02d:%02d%c%c%s",