commit f48878bc30a65c6abf9d2f6148a4895622a085af
Author: Oswald Buddenhagen <o...@users.sf.net>
Date:   Sun Dec 29 14:41:45 2019 +0100

    de-duplicate uid assignment cases in journal replay

 src/sync.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/sync.c b/src/sync.c
index a5d7665..878e359 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -974,21 +974,18 @@ load_state( sync_vars_t *svars )
                                                srec->tuid[0] = 0;
                                                break;
                                        case '<':
-                                               debug( "master now %u\n", t3 );
-                                               srec->uid[M] = t3;
-                                               if (t3 == svars->newmaxuid[M] + 
1)
-                                                       svars->newmaxuid[M] = 
t3;
+                                               tn = M;
+                                         assuid:
+                                               debug( "%s now %u\n", 
str_ms[tn], t3 );
+                                               srec->uid[tn] = t3;
+                                               if (t3 == svars->newmaxuid[tn] 
+ 1)
+                                                       svars->newmaxuid[tn] = 
t3;
                                                srec->status &= ~S_PENDING;
                                                srec->tuid[0] = 0;
                                                break;
                                        case '>':
-                                               debug( "slave now %u\n", t3 );
-                                               srec->uid[S] = t3;
-                                               if (t3 == svars->newmaxuid[S] + 
1)
-                                                       svars->newmaxuid[S] = 
t3;
-                                               srec->status &= ~S_PENDING;
-                                               srec->tuid[0] = 0;
-                                               break;
+                                               tn = S;
+                                               goto assuid;
                                        case '*':
                                                debug( "flags now %u\n", t3 );
                                                srec->flags = (uchar)t3;


_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to