From 94e35e81a04c9ba50d29e02d14816e4f1103e05a Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sat, 4 Mar 2023 12:59:42 -0500 Subject: [PATCH] More aggressive zeroing of visit records so they compress better --- citadel/server/modules/ctdlproto/serv_user.c | 3 +-- citadel/server/msgbase.c | 4 +++- citadel/server/user_ops.c | 6 ++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/citadel/server/modules/ctdlproto/serv_user.c b/citadel/server/modules/ctdlproto/serv_user.c index 96c5a2620..b1b5f8fa0 100644 --- a/citadel/server/modules/ctdlproto/serv_user.c +++ b/citadel/server/modules/ctdlproto/serv_user.c @@ -297,8 +297,7 @@ void cmd_seen(char *argbuf) { target_msgnum = extract_long(argbuf, 0); target_setting = extract_int(argbuf, 1); - CtdlSetSeen(&target_msgnum, 1, target_setting, - ctdlsetseen_seen, NULL, NULL); + CtdlSetSeen(&target_msgnum, 1, target_setting, ctdlsetseen_seen, NULL, NULL); cprintf("%d OK\n", CIT_OK); } diff --git a/citadel/server/msgbase.c b/citadel/server/msgbase.c index 43481ad2c..3858d5a49 100644 --- a/citadel/server/msgbase.c +++ b/citadel/server/msgbase.c @@ -599,12 +599,14 @@ void CtdlSetSeen(long *target_msgnums, int num_target_msgnums, vset = new_set; } - // Decide which message set we're manipulating + // Decide which message set we're manipulating. Zero the buffers so they compress well. switch (which_set) { case ctdlsetseen_seen: + memset(vbuf.v_seen, 0, sizeof vbuf.v_seen); safestrncpy(vbuf.v_seen, ChrPtr(vset), sizeof vbuf.v_seen); break; case ctdlsetseen_answered: + memset(vbuf.v_answered, 0, sizeof vbuf.v_seen); safestrncpy(vbuf.v_answered, ChrPtr(vset), sizeof vbuf.v_answered); break; } diff --git a/citadel/server/user_ops.c b/citadel/server/user_ops.c index 5ee1da4a6..84cc69023 100644 --- a/citadel/server/user_ops.c +++ b/citadel/server/user_ops.c @@ -250,14 +250,12 @@ void put_visit(struct visit *newvisit) { char IndexBuf[32]; int IndexLen = 0; - memset (IndexBuf, 0, sizeof (IndexBuf)); + memset(IndexBuf, 0, sizeof (IndexBuf)); // Generate an index IndexLen = GenerateRelationshipIndex(IndexBuf, newvisit->v_roomnum, newvisit->v_roomgen, newvisit->v_usernum); // Store the record - cdb_store(CDB_VISIT, IndexBuf, IndexLen, - newvisit, sizeof(struct visit) - ); + cdb_store(CDB_VISIT, IndexBuf, IndexLen, newvisit, sizeof(struct visit)); } -- 2.39.2