isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit 6c6ad9710c6b04220ed6a50c2875be290d2ffc99
parent decc33c2cf2c51179a4b287160e70dc853c52f99
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Sun,  8 Dec 2013 09:51:31 +0100

less spaghetti

Diffstat:
Msrc/main.c | 11++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/main.c b/src/main.c @@ -622,24 +622,21 @@ sync_chans( main_vars_t *mvars, int ent ) printf( "%s:\n", mvars->chan->name ); syncml: mvars->done = mvars->cben = 0; - syncmlx: if (mvars->boxlist) { - if ((mbox = mvars->cboxes)) { + while ((mbox = mvars->cboxes)) { mvars->cboxes = mbox->next; if (sync_listed_boxes( mvars, mbox )) goto syncw; - goto syncmlx; } for (t = 0; t < 2; t++) - if ((mbox = mvars->boxes[t])) { + while ((mbox = mvars->boxes[t])) { mvars->boxes[t] = mbox->next; if ((mvars->chan->ops[1-t] & OP_MASK_TYPE) && (mvars->chan->ops[1-t] & OP_CREATE)) { if (sync_listed_boxes( mvars, mbox )) goto syncw; - goto syncmlx; + } else { + free( mbox ); } - free( mbox ); - goto syncmlx; } } else { if (!mvars->list) {