math/group-parse.c (group-parse): Parse binary-group descriptions.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 20 Nov 2019 18:37:01 +0000 (18:37 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 9 May 2020 13:37:58 +0000 (14:37 +0100)
I don't recommend them, but their omission is a bug.

math/group-parse.c

index 5f1a547..61371f0 100644 (file)
@@ -48,7 +48,7 @@ group *group_parse(qd_parse *qd)
 {
   group *g = 0;
 
-  switch (qd_enum(qd, "prime,ec")) {
+  switch (qd_enum(qd, "prime,bin,ec")) {
     case 0: {
       dh_param dp;
       qd_delim(qd, '{');
@@ -58,6 +58,14 @@ group *group_parse(qd_parse *qd)
       dh_paramfree(&dp);
     } break;
     case 1: {
+      gbin_param dp;
+      qd_delim(qd, '{');
+      if (dhbin_parse(qd, &dp)) goto ouch;
+      qd_delim(qd, '}');
+      g = group_binary(&dp);
+      dh_paramfree(&dp);
+    } break;
+    case 2: {
       ec_info ei;
       qd_delim(qd, '{');
       if (ec_infoparse(qd, &ei)) goto ouch;