Skip to content

Commit 0081db6

Browse files
authored
Merge pull request #2015 from ventosus/issue#2012
Load resources from chat history db
2 parents 4e06fa4 + c804137 commit 0081db6

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/database.c

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ log_database_get_previous_chat(const gchar* const contact_barejid, const char* s
333333
auto_gchar gchar* end_date_fmt = end_time ? end_time : g_date_time_format_iso8601(now);
334334
auto_sqlite gchar* query = sqlite3_mprintf("SELECT * FROM ("
335335
"SELECT COALESCE(B.`message`, A.`message`) AS message, "
336-
"A.`timestamp`, A.`from_jid`, A.`to_jid`, A.`type`, A.`encryption`, A.`stanza_id` FROM `ChatLogs` AS A "
336+
"A.`timestamp`, A.`from_jid`, A.`from_resource`, A.`to_jid`, A.`to_resource`, A.`type`, A.`encryption`, A.`stanza_id` FROM `ChatLogs` AS A "
337337
"LEFT JOIN `ChatLogs` AS B ON (A.`replaced_by_db_id` = B.`id` AND A.`from_jid` = B.`from_jid`) "
338338
"WHERE (A.`replaces_db_id` IS NULL) "
339339
"AND ((A.`from_jid` = %Q AND A.`to_jid` = %Q) OR (A.`from_jid` = %Q AND A.`to_jid` = %Q)) "
@@ -361,16 +361,18 @@ log_database_get_previous_chat(const gchar* const contact_barejid, const char* s
361361
while (sqlite3_step(stmt) == SQLITE_ROW) {
362362
char* message = (char*)sqlite3_column_text(stmt, 0);
363363
char* date = (char*)sqlite3_column_text(stmt, 1);
364-
char* from = (char*)sqlite3_column_text(stmt, 2);
365-
char* to_jid = (char*)sqlite3_column_text(stmt, 3);
366-
char* type = (char*)sqlite3_column_text(stmt, 4);
367-
char* encryption = (char*)sqlite3_column_text(stmt, 5);
368-
char* id = (char*)sqlite3_column_text(stmt, 6);
364+
char* from_jid = (char*)sqlite3_column_text(stmt, 2);
365+
char* from_resource = (char*)sqlite3_column_text(stmt, 3);
366+
char* to_jid = (char*)sqlite3_column_text(stmt, 4);
367+
char* to_resource = (char*)sqlite3_column_text(stmt, 5);
368+
char* type = (char*)sqlite3_column_text(stmt, 6);
369+
char* encryption = (char*)sqlite3_column_text(stmt, 7);
370+
char* id = (char*)sqlite3_column_text(stmt, 8);
369371

370372
ProfMessage* msg = message_init();
371373
msg->id = id ? strdup(id) : NULL;
372-
msg->from_jid = jid_create(from);
373-
msg->to_jid = jid_create(to_jid);
374+
msg->from_jid = jid_create_from_bare_and_resource(from_jid, from_resource);
375+
msg->to_jid = jid_create_from_bare_and_resource(to_jid, to_resource);
374376
msg->plain = strdup(message ?: "");
375377
msg->timestamp = g_date_time_new_from_iso8601(date, NULL);
376378
msg->type = _get_message_type_type(type);

0 commit comments

Comments
 (0)