commit 7f1c6679106914873fd19d2b51274f500986c703
Author: Oswald Buddenhagen <[email protected]>
Date: Fri Nov 26 20:39:45 2021 +0100
cache drivers' ability to handle crlf in mails
it's a cheap call, but it clutters up log files.
src/sync.c | 5 +++--
src/sync_p.h | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/sync.c b/src/sync.c
index 7be1212f..0b19e4d0 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -291,8 +291,8 @@ msg_fetched( int sts, void *aux )
vars->msg->flags = vars->data.flags = sanitize_flags(
vars->data.flags, svars, t );
- scr = (svars->drv[t^1]->get_caps( svars->ctx[t^1] ) / DRV_CRLF)
& 1;
- tcr = (svars->drv[t]->get_caps( svars->ctx[t] ) / DRV_CRLF) & 1;
+ scr = svars->can_crlf[t^1];
+ tcr = svars->can_crlf[t];
if (vars->srec || scr != tcr) {
if (!copy_msg_convert( scr, tcr, vars, t )) {
vars->cb( SYNC_NOGOOD, 0, vars );
@@ -475,6 +475,7 @@ sync_boxes( store_t *ctx[], const char * const names[], int
present[], channel_c
}
svars->drv[t] = ctx[t]->driver;
svars->drv[t]->set_bad_callback( ctx[t], store_bad, AUX );
+ svars->can_crlf[t] = (svars->drv[t]->get_caps( svars->ctx[t] )
/ DRV_CRLF) & 1;
}
/* Both boxes must be fully set up at this point, so that error exit
paths
* don't run into uninitialized variables. */
diff --git a/src/sync_p.h b/src/sync_p.h
index 1c001e23..fe43b007 100644
--- a/src/sync_p.h
+++ b/src/sync_p.h
@@ -61,7 +61,7 @@ typedef struct {
uint newuidval[2]; // UID validity obtained from driver
uint finduid[2]; // TUID lookup makes sense only for UIDs >= this
uint maxxfuid; // highest expired UID on far side
- uchar good_flags[2], bad_flags[2];
+ uchar good_flags[2], bad_flags[2], can_crlf[2];
} sync_vars_t;
int prepare_state( sync_vars_t *svars );
_______________________________________________
isync-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/isync-devel