aboutsummaryrefslogtreecommitdiff
path: root/db.c
diff options
context:
space:
mode:
Diffstat (limited to 'db.c')
-rw-r--r--db.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/db.c b/db.c
index f4517f1..a193b24 100644
--- a/db.c
+++ b/db.c
@@ -304,9 +304,11 @@ void db_create_message(i64 roomid,i64 userid,i64 timestamp,const char *message){
}
struct db_message_list db_get_messages(i64 roomid,i64 count){
+ assert(count>=0);
+
sqlite3_stmt *stmt;
SQLITE(prepare_v2,database,
- "select user, time, message "
+ "select id, user, time, message "
"from Messages "
"where room = ? "
"order by time desc "
@@ -325,10 +327,11 @@ struct db_message_list db_get_messages(i64 roomid,i64 count){
if(ml.count==cap){
die("sqlite gave too many rows while 'limit %" PRIi64 "' was present",count);
}
+ ml.list[ml.count].msgid=sqlite3_column_int64(stmt,0);
ml.list[ml.count].roomid=roomid;
- ml.list[ml.count].userid=sqlite3_column_int64(stmt,0);
- ml.list[ml.count].timestamp=sqlite3_column_int64(stmt,1);
- ml.list[ml.count].message=strdup((const char*)sqlite3_column_text(stmt,2));
+ ml.list[ml.count].userid=sqlite3_column_int64(stmt,1);
+ ml.list[ml.count].timestamp=sqlite3_column_int64(stmt,2);
+ ml.list[ml.count].message=strdup((const char*)sqlite3_column_text(stmt,3));
ml.count++;
}