summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FORMATS6
-rw-r--r--HISTORY1
-rw-r--r--config.c8
-rw-r--r--tools.c4
4 files changed, 14 insertions, 5 deletions
diff --git a/FORMATS b/FORMATS
index f1b64ffd..ed63ba72 100644
--- a/FORMATS
+++ b/FORMATS
@@ -56,8 +56,10 @@ Video Disk Recorder File Formats
- End time (first two digits for the hour, second two digits for the minutes)
- Priority (from 00 to 99, 00 = lowest prioity, 99 = highest priority)
- Guaranteed lifetime of recording (in days)
- - Name of timer (will be used to name the recording)
- - Summary
+ - Name of timer (will be used to name the recording); if the name contains
+ any ':' characters, these have to be replaced with '|'
+ - Summary (any newline characters in the summary have to be replaced with '|';
+ the summary may contain ':' characters)
* setup.conf
diff --git a/HISTORY b/HISTORY
index 27c2242d..e97ac697 100644
--- a/HISTORY
+++ b/HISTORY
@@ -388,3 +388,4 @@ Video Disk Recorder Revision History
restore the list when switching between them.
- The "Green" button in the "Recordings" menu can now be used to rewind a
recording and play it from the very beginning.
+- Fixed handling ':' in timer filenames and '\n' in timer summaries (see FORMATS).
diff --git a/config.c b/config.c
index d4d3daf0..3d3017c8 100644
--- a/config.c
+++ b/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.40 2001/02/03 16:19:42 kls Exp $
+ * $Id: config.c 1.41 2001/02/11 11:22:48 kls Exp $
*/
#include "config.h"
@@ -368,7 +368,11 @@ cTimer& cTimer::operator= (const cTimer &Timer)
const char *cTimer::ToText(cTimer *Timer)
{
delete buffer;
+ strreplace(Timer->file, ':', '|');
+ strreplace(Timer->summary, '\n', '|');
asprintf(&buffer, "%d:%d:%s:%04d:%04d:%d:%d:%s:%s\n", Timer->active, Timer->channel, PrintDay(Timer->day), Timer->start, Timer->stop, Timer->priority, Timer->lifetime, Timer->file, Timer->summary ? Timer->summary : "");
+ strreplace(Timer->summary, '|', '\n');
+ strreplace(Timer->file, '|', ':');
return buffer;
}
@@ -457,6 +461,8 @@ bool cTimer::Parse(const char *s)
//TODO add more plausibility checks
day = ParseDay(buffer1);
strn0cpy(file, buffer2, MaxFileName);
+ strreplace(file, '|', ':');
+ strreplace(summary, '|', '\n');
delete buffer1;
delete buffer2;
delete s2;
diff --git a/tools.c b/tools.c
index 9546dd11..bc82a407 100644
--- a/tools.c
+++ b/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.28 2001/02/04 11:27:49 kls Exp $
+ * $Id: tools.c 1.29 2001/02/11 11:18:45 kls Exp $
*/
#define _GNU_SOURCE
@@ -51,7 +51,7 @@ char *strreplace(char *s, char c1, char c2)
{
char *p = s;
- while (*p) {
+ while (p && *p) {
if (*p == c1)
*p = c2;
p++;