chiark / gitweb /
test-common: Use $(wildcard ) rather than $(shell echo )
[secnet.git] / pubkeys.fl.pl
index 4c3009107701cb841dda38728e3cb58f965fe07b..d163e3747ecadf61e9d8a763670403cbf624ecd2 100755 (executable)
@@ -228,8 +228,9 @@ static struct pubkeyset_context c[1];
 !FINAL {
     if (c->building->nkeys >= MAX_SIG_KEYS) DOSKIP("too many public keys");
     struct sigpubkey_if *pubkey;
+    closure_t *cl;
     bool_t ok=c->scheme->loadpub(c->scheme,c->data_buf,
-                                &pubkey,c->log,c->loc);
+                                &pubkey,&cl,c->log,c->loc);
     if (!ok) break;
     if (pubkey->sethash) {
        if (!c->defhash) {
@@ -238,13 +239,12 @@ static struct pubkeyset_context c[1];
        }
        pubkey->sethash(pubkey->st,c->defhash);
     }
-    memcpy(c->building->keys[c->building->nkeys].id.b,
-          c->grpid,
-           GRPIDSZ);
+    struct peer_pubkey *fill=&c->building->keys[c->building->nkeys];
+    memcpy(fill->id.b,c->grpid,GRPIDSZ);
     assert(ALGIDSZ==1); /* otherwise need htons or htonl or something */
-    c->building->keys[c->building->nkeys].id.b[GRPIDSZ]=
-      c->scheme->algid;
-    c->building->keys[c->building->nkeys++].pubkey=pubkey;
+    fill->id.b[GRPIDSZ]=c->scheme->algid;
+    fill->pubkey=pubkey;
+    c->building->nkeys++;
 !}
 
 !KEYWORD serial