diff options
author | George Hazan <george.hazan@gmail.com> | 2025-01-10 18:28:28 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2025-01-10 18:28:28 +0300 |
commit | 3d30ed65f9e226b7b183b23ce5dba435ec491f0b (patch) | |
tree | 512db95fca97a5b6f028ed4ca05f473cbd11190c /plugins/Import/src | |
parent | b58bd0a705dba9a32e4db1420e2d615c6ee6bd41 (diff) |
DBEVENTINFO::timestamp to become 64-bit integer
Diffstat (limited to 'plugins/Import/src')
-rw-r--r-- | plugins/Import/src/dbrw/dbevents.cpp | 2 | ||||
-rw-r--r-- | plugins/Import/src/import.cpp | 10 | ||||
-rw-r--r-- | plugins/Import/src/mcontacts.cpp | 4 | ||||
-rw-r--r-- | plugins/Import/src/patterns.cpp | 6 | ||||
-rw-r--r-- | plugins/Import/src/textjson.cpp | 18 |
5 files changed, 19 insertions, 21 deletions
diff --git a/plugins/Import/src/dbrw/dbevents.cpp b/plugins/Import/src/dbrw/dbevents.cpp index 605dc3683f..86eccc1712 100644 --- a/plugins/Import/src/dbrw/dbevents.cpp +++ b/plugins/Import/src/dbrw/dbevents.cpp @@ -80,7 +80,7 @@ STDMETHODIMP_(BOOL) CDbxSQLite::GetEvent(MEVENT hDbEvent, DBEVENTINFO *dbei) if (sql_step(stmt) == SQLITE_ROW) {
const void *blob = sqlite3_column_blob(stmt, 4);
- dbei->timestamp = (uint32_t)sqlite3_column_int(stmt, 1);
+ dbei->iTimestamp = sqlite3_column_int64(stmt, 1);
dbei->flags = (uint32_t)sqlite3_column_int(stmt, 2);
dbei->eventType = (uint16_t)sqlite3_column_int(stmt, 3);
dbei->szModule = mir_strdup((char*)sqlite3_column_text(stmt, 7));
diff --git a/plugins/Import/src/import.cpp b/plugins/Import/src/import.cpp index 82109692f1..3ab25a43f6 100644 --- a/plugins/Import/src/import.cpp +++ b/plugins/Import/src/import.cpp @@ -867,9 +867,7 @@ void CImportBatch::ImportHistory(MCONTACT hContact, PROTOACCOUNT **protocol, int // custom filtering
if (!bSkipThis) {
- bool bIsSent = (dbei.flags & DBEF_SENT) != 0;
-
- if (dbei.timestamp < (uint32_t)m_dwSinceDate)
+ if (dbei.getUnixtime() < (uint32_t)m_dwSinceDate)
bSkipThis = true;
if (!bSkipThis) {
@@ -877,15 +875,15 @@ void CImportBatch::ImportHistory(MCONTACT hContact, PROTOACCOUNT **protocol, int bSkipThis = 1;
switch (dbei.eventType) {
case EVENTTYPE_MESSAGE:
- if ((bIsSent ? IOPT_MSGSENT : IOPT_MSGRECV) & m_iOptions)
+ if ((dbei.bSent ? IOPT_MSGSENT : IOPT_MSGRECV) & m_iOptions)
bSkipThis = false;
break;
case EVENTTYPE_FILE:
- if ((bIsSent ? IOPT_FILESENT : IOPT_FILERECV) & m_iOptions)
+ if ((dbei.bSent ? IOPT_FILESENT : IOPT_FILERECV) & m_iOptions)
bSkipThis = false;
break;
default:
- if ((bIsSent ? IOPT_OTHERSENT : IOPT_OTHERRECV) & m_iOptions)
+ if ((dbei.bSent ? IOPT_OTHERSENT : IOPT_OTHERRECV) & m_iOptions)
bSkipThis = false;
break;
}
diff --git a/plugins/Import/src/mcontacts.cpp b/plugins/Import/src/mcontacts.cpp index 3340b3af77..db0a673f67 100644 --- a/plugins/Import/src/mcontacts.cpp +++ b/plugins/Import/src/mcontacts.cpp @@ -212,7 +212,7 @@ public: dbei->eventType = hdr.eventType;
cbLen = hdr.cbBlob;
dbei->flags = hdr.flags;
- dbei->timestamp = hdr.timestamp;
+ dbei->iTimestamp = hdr.timestamp;
}
else if (dwSize == sizeof(MC_MsgHeader64)) {
MC_MsgHeader64 hdr;
@@ -223,7 +223,7 @@ public: dbei->eventType = hdr.eventType;
cbLen = hdr.cbBlob;
dbei->flags = hdr.flags;
- dbei->timestamp = hdr.timestamp;
+ dbei->iTimestamp = hdr.timestamp;
}
else return 1;
diff --git a/plugins/Import/src/patterns.cpp b/plugins/Import/src/patterns.cpp index 27d8787088..c64cbad570 100644 --- a/plugins/Import/src/patterns.cpp +++ b/plugins/Import/src/patterns.cpp @@ -564,8 +564,8 @@ public: dbei->flags = DBEF_READ | DBEF_UTF;
if (pMsg[0x1A] != 0)
dbei->flags |= DBEF_SENT;
- dbei->timestamp = RLInteger(&pMsg[0x12]);
- dbei->timestamp -= TimeZone_ToLocal(dbei->timestamp) - dbei->timestamp; // deduct time zone offset from timestamp
+ dbei->iTimestamp = RLInteger(&pMsg[0x12]);
+ dbei->iTimestamp -= TimeZone_ToLocal(dbei->getUnixtime()) - dbei->getUnixtime(); // deduct time zone offset from timestamp
dbei->cbBlob = RLWord(&pMsg[m_iMsgHeaderSize - 2]);
dbei->pBlob = (char *)mir_alloc(dbei->cbBlob + 1);
memcpy(dbei->pBlob, pMsg + m_iMsgHeaderSize, dbei->cbBlob);
@@ -631,7 +631,7 @@ public: st.tm_hour = str2int(substrings[pPattern->iHours]);
st.tm_min = str2int(substrings[pPattern->iMinutes]);
st.tm_sec = (pPattern->iSeconds) ? str2int(substrings[pPattern->iSeconds]) : 0;
- dbei->timestamp = mktime(&st);
+ dbei->iTimestamp = mktime(&st);
if (pPattern->iDirection)
if (pPattern->wszOutgoing == substrings[pPattern->iDirection])
diff --git a/plugins/Import/src/textjson.cpp b/plugins/Import/src/textjson.cpp index 3cfa254c8f..c78e031099 100644 --- a/plugins/Import/src/textjson.cpp +++ b/plugins/Import/src/textjson.cpp @@ -112,7 +112,7 @@ public: auto &node = *pNode;
dbei->eventType = node["type"].as_int();
- dbei->timestamp = 0;
+ dbei->iTimestamp = 0;
std::string szTime = node["time"].as_string();
if (!szTime.empty()) {
char c;
@@ -123,7 +123,7 @@ public: st.tm_year -= 1900;
time_t tm = mktime(&st);
if (tm != -1)
- dbei->timestamp = tm;
+ dbei->iTimestamp = tm;
}
}
else {
@@ -136,13 +136,13 @@ public: st.tm_year -= 1900;
time_t tm = _mkgmtime(&st);
if (tm != -1)
- dbei->timestamp = tm;
+ dbei->iTimestamp = tm;
}
}
}
- if (dbei->timestamp == 0)
- dbei->timestamp = node["timeStamp"].as_int();
+ if (dbei->iTimestamp == 0)
+ dbei->iTimestamp = node["timeStamp"].as_int();
dbei->flags = 0;
std::string szFlags = node["flags"].as_string();
@@ -343,16 +343,16 @@ public: if (mir_strcmp(dbei.szModule, szProto))
pRoot.push_back(JSONNode("module", dbei.szModule));
- pRoot.push_back(JSONNode("timestamp", dbei.timestamp));
+ pRoot.push_back(JSONNode("timestamp", dbei.getUnixtime()));
wchar_t szTemp[500];
- TimeZone_PrintTimeStamp(UTC_TIME_HANDLE, dbei.timestamp, L"I", szTemp, _countof(szTemp), 0);
+ TimeZone_PrintTimeStamp(UTC_TIME_HANDLE, dbei.getUnixtime(), L"I", szTemp, _countof(szTemp), 0);
pRoot.push_back(JSONNode("isotime", T2Utf(szTemp).get()));
std::string flags;
- if (dbei.flags & DBEF_SENT)
+ if (dbei.bSent)
flags += "m";
- if (dbei.flags & DBEF_READ)
+ if (dbei.bRead)
flags += "r";
pRoot.push_back(JSONNode("flags", flags));
|