mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Improved handling of blanks in channel and timer names
This commit is contained in:
parent
685e0f6951
commit
d0179ea219
4
HISTORY
4
HISTORY
@ -77,4 +77,6 @@ Video Disk Recorder Revision History
|
||||
replay has been reduced to 2 digits to allow more space for the recording's
|
||||
title. In the internal file structure the year is still stored with 4 digits,
|
||||
so there will be no problem at the next turn of the century ;-)
|
||||
|
||||
- Channel names and timer filenames can now contain blanks. To avoid problems
|
||||
with file names that contain blanks, all blanks in recording file names are
|
||||
converted to underscores.
|
||||
|
6
MANUAL
6
MANUAL
@ -41,7 +41,11 @@ Video Disk Recorder User's Manual
|
||||
by pressing the "Right" button (which puts brackets around the current
|
||||
character as in "[R]TL"), selecting the desired character position with
|
||||
"Left" and "Right", and changing the character with the "Up" and "Down"
|
||||
keys. "Ok" then confirms the changes.
|
||||
keys. "Ok" then confirms the changes. The special character '^' can be used
|
||||
to "cut off" a string at this position. When this character is visible in the
|
||||
brackets (as in abc[^]), the next press to the "Left" or "Ok" button will
|
||||
actually cut off the string. Using "Up" and/or "Down" brings back the
|
||||
original rest of the string (unless you have pressed "Left" or "Ok").
|
||||
|
||||
The "Red", "Green", "Yellow" and "Blue" buttons have special meanings
|
||||
in various menus and are listed at the bottom of the on-screen-display.
|
||||
|
4
config.c
4
config.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.c 1.10 2000/07/16 11:47:30 kls Exp $
|
||||
* $Id: config.c 1.11 2000/07/16 14:28:20 kls Exp $
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
@ -318,7 +318,7 @@ bool cTimer::Parse(char *s)
|
||||
{
|
||||
char *buffer1 = NULL;
|
||||
char *buffer2 = NULL;
|
||||
if (8 == sscanf(s, "%d:%d:%a[^:]:%d:%d:%d:%d:%as", &active, &channel, &buffer1, &start, &stop, &priority, &lifetime, &buffer2)) {
|
||||
if (8 == sscanf(s, "%d:%d:%a[^:]:%d:%d:%d:%d:%a[^:\n]", &active, &channel, &buffer1, &start, &stop, &priority, &lifetime, &buffer2)) {
|
||||
day = ParseDay(buffer1);
|
||||
strncpy(file, buffer2, MaxFileName - 1);
|
||||
file[strlen(buffer2)] = 0;
|
||||
|
12
menu.c
12
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 1.18 2000/07/16 13:42:29 kls Exp $
|
||||
* $Id: menu.c 1.19 2000/07/16 14:52:48 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
#define MENUTIMEOUT 120 // seconds
|
||||
|
||||
const char *FileNameChars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789-.# ";
|
||||
const char *FileNameChars = " aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789-.#^";
|
||||
|
||||
// --- cMenuEditItem ---------------------------------------------------------
|
||||
|
||||
@ -429,7 +429,7 @@ void cMenuEditStrItem::Set(void)
|
||||
char buf[1000];
|
||||
if (pos >= 0) {
|
||||
strncpy(buf, value, pos);
|
||||
const char *s = value[pos] != ' ' ? value + pos + 1 : "";
|
||||
const char *s = value[pos] != '^' ? value + pos + 1 : "";
|
||||
snprintf(buf + pos, sizeof(buf) - pos - 2, "[%c]%s", *(value + pos), s);
|
||||
SetValue(buf);
|
||||
}
|
||||
@ -455,12 +455,12 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key)
|
||||
{
|
||||
switch (Key) {
|
||||
case kLeft: if (pos > 0) {
|
||||
if (value[pos] == ' ')
|
||||
if (value[pos] == '^')
|
||||
value[pos] = 0;
|
||||
pos--;
|
||||
}
|
||||
break;
|
||||
case kRight: if (pos < length && value[pos] != ' ') {
|
||||
case kRight: if (pos < length && value[pos] != '^' && (pos < int(strlen(value) - 1) || value[pos] != ' ')) {
|
||||
if (++pos >= int(strlen(value))) {
|
||||
value[pos] = ' ';
|
||||
value[pos + 1] = 0;
|
||||
@ -474,7 +474,7 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key)
|
||||
return cMenuEditItem::ProcessKey(Key);
|
||||
break;
|
||||
case kOk: if (pos >= 0) {
|
||||
if (value[pos] == ' ')
|
||||
if (value[pos] == '^')
|
||||
value[pos] = 0;
|
||||
pos = -1;
|
||||
break;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.c 1.10 2000/07/16 13:41:45 kls Exp $
|
||||
* $Id: recording.c 1.11 2000/07/16 14:21:37 kls Exp $
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
@ -141,6 +141,7 @@ cRecording::cRecording(const char *FileName)
|
||||
name = new char[p - FileName + 1];
|
||||
strncpy(name, FileName, p - FileName);
|
||||
name[p - FileName] = 0;
|
||||
strreplace(name, '_', ' ');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -157,6 +158,8 @@ const char *cRecording::FileName(void)
|
||||
if (!fileName) {
|
||||
struct tm *t = localtime(&start);
|
||||
asprintf(&fileName, NAMEFORMAT, BaseDir, name, t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, priority, lifetime);
|
||||
if (fileName)
|
||||
strreplace(fileName, ' ', '_');
|
||||
}
|
||||
return fileName;
|
||||
}
|
||||
|
14
tools.c
14
tools.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: tools.c 1.8 2000/06/24 15:26:15 kls Exp $
|
||||
* $Id: tools.c 1.9 2000/07/16 14:14:44 kls Exp $
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
@ -76,6 +76,18 @@ char *readline(FILE *f)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *strreplace(char *s, char c1, char c2)
|
||||
{
|
||||
char *p = s;
|
||||
|
||||
while (*p) {
|
||||
if (*p == c1)
|
||||
*p = c2;
|
||||
p++;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
int time_ms(void)
|
||||
{
|
||||
static time_t t0 = 0;
|
||||
|
3
tools.h
3
tools.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: tools.h 1.8 2000/06/24 15:25:00 kls Exp $
|
||||
* $Id: tools.h 1.9 2000/07/16 14:11:34 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __TOOLS_H
|
||||
@ -37,6 +37,7 @@ char readchar(int filedes);
|
||||
bool readint(int filedes, int &n);
|
||||
void purge(int filedes);
|
||||
char *readline(FILE *f);
|
||||
char *strreplace(char *s, char c1, char c2);
|
||||
int time_ms(void);
|
||||
void delay_ms(int ms);
|
||||
bool MakeDirs(const char *FileName, bool IsDirectory = false);
|
||||
|
Loading…
Reference in New Issue
Block a user