diff options
author | Alexander Gluzsky <sss123next@list.ru> | 2012-12-30 03:51:49 +0000 |
---|---|---|
committer | Alexander Gluzsky <sss123next@list.ru> | 2012-12-30 03:51:49 +0000 |
commit | d0fefcaeec1f2c9aad122bbdb97506d0acb9995f (patch) | |
tree | 90a8009192c2f4232a285ddaa9a2649d0372fb3d | |
parent | 8baa487d495ee212ed9de4559012f67c030565f2 (diff) |
fixed bug with tag stripping
git-svn-id: http://svn.miranda-ng.org/main/trunk@2890 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rwxr-xr-x | plugins/New_GPG/src/messages.cpp | 10 | ||||
-rwxr-xr-x | plugins/New_GPG/src/utilities.cpp | 25 | ||||
-rwxr-xr-x | plugins/New_GPG/src/utilities.h | 5 |
3 files changed, 29 insertions, 11 deletions
diff --git a/plugins/New_GPG/src/messages.cpp b/plugins/New_GPG/src/messages.cpp index 5e3e609037..37d67caad8 100755 --- a/plugins/New_GPG/src/messages.cpp +++ b/plugins/New_GPG/src/messages.cpp @@ -650,15 +650,7 @@ void SendMsgSvc_func(HANDLE hContact, char *msg, DWORD flags) } if(bStripTags && bAppendTags) { - std::wstring::size_type p; - for(p = str.find(inopentag); p != std::wstring::npos; p = str.find(inopentag)) - str.erase(p, _tcslen(inopentag)); - for(p = str.find(inclosetag); p != std::wstring::npos; p = str.find(inclosetag)) - str.erase(p, _tcslen(inclosetag)); - for(p = str.find(outopentag); p != std::wstring::npos; p = str.find(outopentag)) - str.erase(p, _tcslen(outopentag)); - for(p = str.find(outclosetag); p != std::wstring::npos; p = str.find(outclosetag)) - str.erase(p, _tcslen(outclosetag)); + strip_tags(str); } /* for(std::wstring::size_type i = str.find(_T("\r\n")); i != std::wstring::npos; i = str.find(_T("\r\n"), i+1)) str.replace(i, 2, _T("\n")); */ diff --git a/plugins/New_GPG/src/utilities.cpp b/plugins/New_GPG/src/utilities.cpp index 36bd5a5ec1..af1e942cc8 100755 --- a/plugins/New_GPG/src/utilities.cpp +++ b/plugins/New_GPG/src/utilities.cpp @@ -1890,3 +1890,28 @@ void strip_line_term(std::string &s) for(std::string::size_type i = s.find("\n"); i != std::string::npos; i = s.find("\n", i+1))
s.erase(i, 1);
}
+
+void strip_tags(std::wstring &str)
+{ + std::wstring::size_type p; + if(_tcslen(inopentag)) + { + for(p = str.find(inopentag); p != std::wstring::npos; p = str.find(inopentag)) + str.erase(p, _tcslen(inopentag)); + } + if(_tcslen(inclosetag)) + { + for(p = str.find(inclosetag); p != std::wstring::npos; p = str.find(inclosetag)) + str.erase(p, _tcslen(inclosetag)); + } + if(_tcslen(outopentag)) + { + for(p = str.find(outopentag); p != std::wstring::npos; p = str.find(outopentag)) + str.erase(p, _tcslen(outopentag)); + } + if(_tcslen(outclosetag)) + { + for(p = str.find(outclosetag); p != std::wstring::npos; p = str.find(outclosetag)) + str.erase(p, _tcslen(outclosetag)); + } +}
\ No newline at end of file diff --git a/plugins/New_GPG/src/utilities.h b/plugins/New_GPG/src/utilities.h index 739495a48a..508a241110 100755 --- a/plugins/New_GPG/src/utilities.h +++ b/plugins/New_GPG/src/utilities.h @@ -43,7 +43,7 @@ public: {
eventType = EVENTTYPE_MESSAGE;
flags = 0;
- timestamp = 0;
+ timestamp = time(0);
szModule = 0;
cbSize = 0;
cbBlob = strlen(msg)+1;
@@ -81,7 +81,7 @@ public: eventType = type;
else
eventType = EVENTTYPE_MESSAGE;
- timestamp = 0;
+ timestamp = time(0);
szModule = 0;
cbSize = 0;
}
@@ -104,5 +104,6 @@ void fix_line_term(std::string &s); void fix_line_term(std::wstring &s);
void strip_line_term(std::wstring &s);
void strip_line_term(std::string &s);
+void strip_tags(std::wstring &s);
#endif
|