summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY1
-rw-r--r--tools.c9
-rw-r--r--tools.h3
4 files changed, 14 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 0af54535..d6a06464 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2626,3 +2626,6 @@ Cristiano A. Silva <arquithek@gmail.com>
Osama Alrawab <alrawab@hotmail.com>
for adding support for languages that are written right-to-left
for translating OSD texts to the Arabian language
+
+Antti Seppälä <a.seppala@gmail.com>
+ for suggesting to add cString::operator=(const char *String)
diff --git a/HISTORY b/HISTORY
index bc1c890d..bc9ebeea 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6489,3 +6489,4 @@ Video Disk Recorder Revision History
- Changed the description of cDevice::GetSTC() to make it mandatory for devices
that can replay.
- Removed the check for positive STC values from cDvbSubtitleConverter::Action().
+- Added cString::operator=(const char *String) (suggested by Antti Seppälä).
diff --git a/tools.c b/tools.c
index 09053301..f7d6bc6d 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 2.9 2010/10/24 11:32:27 kls Exp $
+ * $Id: tools.c 2.10 2010/10/24 13:07:30 kls Exp $
*/
#include "tools.h"
@@ -885,6 +885,13 @@ cString &cString::operator=(const cString &String)
return *this;
}
+cString &cString::operator=(const char *String)
+{
+ free(s);
+ s = String ? strdup(String) : NULL;
+ return *this;
+}
+
cString &cString::Truncate(int Index)
{
int l = strlen(s);
diff --git a/tools.h b/tools.h
index 95c35ff3..1a80a8d4 100644
--- a/tools.h
+++ b/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 2.4 2009/12/23 15:14:39 kls Exp $
+ * $Id: tools.h 2.5 2010/10/24 13:06:27 kls Exp $
*/
#ifndef __TOOLS_H
@@ -171,6 +171,7 @@ public:
operator const char * () const { return s; } // for use in (const char *) context
const char * operator*() const { return s; } // for use in (const void *) context (printf() etc.)
cString &operator=(const cString &String);
+ cString &operator=(const char *String);
cString &Truncate(int Index); ///< Truncate the string at the given Index (if Index is < 0 it is counted from the end of the string).
static cString sprintf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
static cString sprintf(const char *fmt, va_list &ap);