diff options
author | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-02-11 09:40:09 +0000 |
---|---|---|
committer | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-02-11 09:40:09 +0000 |
commit | 0fbbb6071648d47c75d14eb1075bf6f5c85349cc (patch) | |
tree | 14ab569569e235f91773857784e711563d5e0640 /muggle-plugin/mg_order.c | |
parent | c17ecbd260b3304b60fedfa70999f2eccabb668d (diff) | |
download | vdr-plugin-muggle-0fbbb6071648d47c75d14eb1075bf6f5c85349cc.tar.gz vdr-plugin-muggle-0fbbb6071648d47c75d14eb1075bf6f5c85349cc.tar.bz2 |
fix many memory leaks, add missing copy constructor to mgOrder
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk@478 e10066b5-e1e2-0310-b819-94efdf66514b
Diffstat (limited to 'muggle-plugin/mg_order.c')
-rw-r--r-- | muggle-plugin/mg_order.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/muggle-plugin/mg_order.c b/muggle-plugin/mg_order.c index 93463b5..64cb379 100644 --- a/muggle-plugin/mg_order.c +++ b/muggle-plugin/mg_order.c @@ -4,6 +4,8 @@ #include <stdio.h> +const char * EMPTY = "XNICHTGESETZTX"; + bool iskeyGenre(mgKeyTypes kt) { return kt>=keyGenre1 && kt <= keyGenres; @@ -596,6 +598,11 @@ mgOrder::mgOrder() setKey (2,keyTrack); } +mgOrder::~mgOrder() +{ + truncate(0); +} + mgKey* mgOrder::Key(unsigned int idx) const { @@ -626,6 +633,18 @@ const mgOrder& mgOrder::operator=(const mgOrder& from) { clear(); + InitFrom(from); + return *this; +} + +mgOrder::mgOrder(const mgOrder &from) +{ + InitFrom(from); +} + +void +mgOrder::InitFrom(const mgOrder &from) +{ for (unsigned int i = 0; i < from.size();i++) { mgKey *k = ktGenerate(from.getKeyType(i),m_db); @@ -633,14 +652,6 @@ mgOrder::operator=(const mgOrder& from) Keys.push_back(k); } if (from.m_db) setDB(from.m_db); - return *this; -} - -mgOrder& -mgOrder::operator+=(mgKey* k) { - k->setdb(m_db); - Keys.push_back(k); - return *this; } string @@ -769,6 +780,12 @@ mgOrder::truncate(unsigned int i) } void +mgOrder::clear() +{ + truncate(0); +} + +void mgOrder::clean() { // remove double entries: |