diff options
author | lordjaxom <lordjaxom> | 2005-01-02 20:04:39 +0000 |
---|---|---|
committer | lordjaxom <lordjaxom> | 2005-01-02 20:04:39 +0000 |
commit | 302ee88bc80b9ac22b662cfab0442f932a222d0c (patch) | |
tree | 4a454e4628e5c8dc298a7ad00033a1f3af657de6 | |
parent | e5fa5f7df0b1ba76845f9820e9aebedbeac0119b (diff) | |
download | vdr-plugin-text2skin-302ee88bc80b9ac22b662cfab0442f932a222d0c.tar.gz vdr-plugin-text2skin-302ee88bc80b9ac22b662cfab0442f932a222d0c.tar.bz2 |
- prepared string class for ad-hoc translation after language change
-rw-r--r-- | xml/string.c | 10 | ||||
-rw-r--r-- | xml/string.h | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/xml/string.c b/xml/string.c index e0b1303..a9b7711 100644 --- a/xml/string.c +++ b/xml/string.c @@ -1,5 +1,5 @@ /* - * $Id: string.c,v 1.5 2005/01/02 16:54:41 lordjaxom Exp $ + * $Id: string.c,v 1.6 2005/01/02 20:04:39 lordjaxom Exp $ */ #include "xml/string.h" @@ -46,6 +46,8 @@ std::string txToken::Token(const txToken &Token) return result; } +cxString::tStringList cxString::mStrings; + cxString::cxString(cxSkin *Skin): mSkin(Skin) { @@ -55,7 +57,7 @@ cxString::cxString(cxSkin *Skin): cxString::~cxString() { tStringList::iterator it = mStrings.begin(); - while (it != mStrings.end()) { + for (; it != mStrings.end(); ++it) { if ((*it) == this) { mStrings.erase(it); break; @@ -66,7 +68,7 @@ cxString::~cxString() void cxString::Reparse(void) { tStringList::iterator it = mStrings.begin(); - while (it != mStrings.end()) + for (; it != mStrings.end(); ++it) (*it)->Parse(); } @@ -81,6 +83,8 @@ bool cxString::Parse(const std::string &Text) Dprintf("parsing: %s\n", Text.c_str()); mOriginal = Text; + mText = ""; + mTokens.clear(); for (; *ptr; ++ptr) { if (inToken && *ptr == '\\') { diff --git a/xml/string.h b/xml/string.h index fe7149c..7f77dc9 100644 --- a/xml/string.h +++ b/xml/string.h @@ -1,5 +1,5 @@ /* - * $Id: string.h,v 1.6 2005/01/02 16:54:41 lordjaxom Exp $ + * $Id: string.h,v 1.7 2005/01/02 20:04:39 lordjaxom Exp $ */ #ifndef VDR_TEXT2SKIN_XML_STRING_H @@ -183,7 +183,7 @@ public: ~cxString(); bool Parse(const std::string &Text); - bool Parse(void) { return Parse(mOriginal); } + bool Parse(void) { return mOriginal.length() > 0 ? Parse(mOriginal) : true; } cxType Evaluate(void) const; void SetListIndex(uint Index, int Tab); |