]> git.vomp.tv Git - vompclient.git/blob - rectimer.cc
Zero length recording segfault fixed
[vompclient.git] / rectimer.cc
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 */
20
21 #include "rectimer.h"
22
23 RecTimer::RecTimer()
24 {
25   active = 0;
26   recording = 0;
27   pending = 0;
28   priority = 0;
29   lifeTime = 0;
30   channelNumber = 0;
31   startTime = 0;
32   stopTime = 0;
33
34   file = NULL;
35   summary = NULL;
36
37   index = -1;
38   directory = NULL;
39   name = NULL;
40 }
41
42 RecTimer::~RecTimer()
43 {
44   if (summary) delete[] summary;
45   if (file) delete[] file;
46   if (directory) delete[] directory;
47   if (name) delete[] name;
48 }
49
50 bool RecTimer::operator< (const RecTimer& op2)
51 {
52   return startTime < op2.startTime;
53 }
54
55 void RecTimer::setFile(const char* tFile)
56 {
57   file = new char[strlen(tFile)+1];
58   strcpy(file, tFile);
59
60
61   char* sub = strstr(file, "~");
62
63   if (sub) // Its in a dir
64   {
65     directory = new char[sub - file + 1];
66     memcpy(directory, file, sub - file);
67     directory[sub - file] = '\0';
68
69     sub++;
70     int sublen = strlen(sub);
71     name = new char[sublen + 1];
72     strcpy(name, sub);
73   }
74   else
75   {
76     name = new char[strlen(file)+1];
77     strcpy(name, file);
78   }
79 }