commit 7f1c6679106914873fd19d2b51274f500986c703
Author: Oswald Buddenhagen <o...@users.sf.net>
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
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to