commit d7d5fd20bc81db0aff711a540a2186a4f93b21e8
Author: Oswald Buddenhagen <[email protected]>
Date:   Sat Apr 12 16:56:00 2014 +0200

    fix "inverse copy&pasto" in account labeling code
    
    the code was copied and the original adjusted ... but not quite
    completely.
    this means that clashing server names never really worked since - not
    that i would have expected this to be a particularly common
    configuration to start with. :D
    
    also added comments explaining why there are two implementations of the
    same thing.
    
    amends aea4be19e3 (anno 2006).
    
    found by coverity.

 src/compat/config.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/compat/config.c b/src/compat/config.c
index 39bbbe9..70360fc 100644
--- a/src/compat/config.c
+++ b/src/compat/config.c
@@ -247,6 +247,8 @@ write_imap_server( FILE *fp, config_t *cfg )
        char buf[128], ubuf[64];
        static int tunnels;
 
+       /* The old server names determine the derived store names. They are 
kinda stupid,
+        * but can't be changed, because store names are encoded in state file 
names. */
        if (cfg->tunnel)
                nfasprintf( (char **)&cfg->old_server_name, "tunnel%d", 
++tunnels );
        else {
@@ -266,7 +268,7 @@ write_imap_server( FILE *fp, config_t *cfg )
                }
                if (boxes) /* !o2o */
                        for (pbox = boxes; pbox != cfg; pbox = pbox->next)
-                               if (!memcmp( pbox->server_name, buf, hl + 1 )) {
+                               if (!memcmp( pbox->old_server_name, buf, hl + 1 
)) {
                                        nfasprintf( (char 
**)&cfg->old_server_name, "%s-%d", buf, ++pbox->old_servers );
                                        goto gotsrv;
                                }
@@ -275,6 +277,8 @@ write_imap_server( FILE *fp, config_t *cfg )
          gotsrv: ;
        }
 
+       /* The "new" server names determine the names of the accounts 
themselves.
+        * They are optimized for descriptiveness, e.g. in password prompts. */
        if (cfg->user)
                nfsnprintf( ubuf, sizeof(ubuf), "%s@", cfg->user );
        else

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
isync-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to