server/chal.c: Capture `master->algs.bulk' in a variable.
[tripe] / server / chal.c
index a935335..e6a3005 100644 (file)
@@ -46,11 +46,11 @@ static seqwin iseq;
 
 static void c_genkey(void)
 {
-  if (bchal && bchal->ops == master->algs.bulk->ops && oseq < 0x07ffffff)
-    return;
+  bulkalgs *bulk = master->algs.bulk;
+  if (bchal && bchal->ops == bulk->ops && oseq < 0x07ffffff) return;
   if (bchal) bchal->ops->freechal(bchal);
-  bchal = master->algs.bulk->ops->genchal(master->algs.bulk);
-  bchal->ops = master->algs.bulk->ops;
+  bchal = bulk->ops->genchal(bulk);
+  bchal->ops = bulk->ops;
   oseq = 0;
   seq_reset(&iseq);
 }