diff options
author | MarcoPolo-PasTonMolo <marcopolopastonmolo@protonmail.com> | 2022-07-05 13:09:16 +0300 |
---|---|---|
committer | MarcoPolo-PasTonMolo <marcopolopastonmolo@protonmail.com> | 2022-07-10 11:17:35 +0300 |
commit | 47b3e528e2c13a63316fa7ad2c02d9b702741dea (patch) | |
tree | 5de884d97e4d54412c81004e5455e228d118fee8 /src/database.c | |
parent | b03c3bda980056f65cd696fd65883a1c351ac8d7 (diff) | |
download | profani-tty-47b3e528e2c13a63316fa7ad2c02d9b702741dea.tar.gz |
Handle scrolling down when buffer fills up
Diffstat (limited to 'src/database.c')
-rw-r--r-- | src/database.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/database.c b/src/database.c index 966f6ca4..d5f12ae9 100644 --- a/src/database.c +++ b/src/database.c @@ -248,16 +248,16 @@ log_database_get_previous_chat(const gchar* const contact_barejid, char* start_t gchar* sort = !flip ? "ASC" : "DESC"; GDateTime* now = g_date_time_new_now_local(); gchar* end_date_fmt = end_time ? end_time : g_date_time_format_iso8601(now); - gchar* start_date_fmt = start_time ? start_time : NULL; - query = sqlite3_mprintf("SELECT * FROM (SELECT `message`, `timestamp`, `from_jid`, `type` from `ChatLogs` WHERE ((`from_jid` = '%q' AND `to_jid` = '%q') OR (`from_jid` = '%q' AND `to_jid` = '%q')) AND `timestamp` < '%q' AND (%Q IS NULL OR `timestamp` > %Q) ORDER BY `timestamp` DESC LIMIT %d) ORDER BY `timestamp` %s;", contact_barejid, myjid->barejid, myjid->barejid, contact_barejid, end_date_fmt, start_date_fmt, start_date_fmt, MESSAGES_TO_RETRIEVE, sort); + query = sqlite3_mprintf("SELECT * FROM (SELECT `message`, `timestamp`, `from_jid`, `type` from `ChatLogs` WHERE ((`from_jid` = '%q' AND `to_jid` = '%q') OR (`from_jid` = '%q' AND `to_jid` = '%q')) AND `timestamp` < '%q' AND (%Q IS NULL OR `timestamp` > %Q) ORDER BY `timestamp` %s LIMIT %d) ORDER BY `timestamp` %s;", contact_barejid, myjid->barejid, myjid->barejid, contact_barejid, end_date_fmt, start_time, start_time, sort, MESSAGES_TO_RETRIEVE, sort); + + g_date_time_unref(now); + g_free(end_date_fmt); + if (!query) { log_error("log_database_get_previous_chat(): SQL query. could not allocate memory"); return NULL; } - g_date_time_unref(now); - g_free(end_date_fmt); - jid_destroy(myjid); int rc = sqlite3_prepare_v2(g_chatlog_database, query, -1, &stmt, NULL); |