summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gluzsky <sss123next@list.ru>2012-12-30 03:51:49 +0000
committerAlexander Gluzsky <sss123next@list.ru>2012-12-30 03:51:49 +0000
commitd0fefcaeec1f2c9aad122bbdb97506d0acb9995f (patch)
tree90a8009192c2f4232a285ddaa9a2649d0372fb3d
parent8baa487d495ee212ed9de4559012f67c030565f2 (diff)
fixed bug with tag stripping
git-svn-id: http://svn.miranda-ng.org/main/trunk@2890 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rwxr-xr-xplugins/New_GPG/src/messages.cpp10
-rwxr-xr-xplugins/New_GPG/src/utilities.cpp25
-rwxr-xr-xplugins/New_GPG/src/utilities.h5
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