group-parse: Emit useful error messages when parsing fails.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 17 Feb 2007 12:11:26 +0000 (12:11 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 19 Feb 2007 12:38:18 +0000 (12:38 +0000)
Previously it would overwrite the useful message from lower-level
parsers with its own bland and unhelpful error.

group-parse.c

index f2c47f4..7711952 100644 (file)
@@ -53,7 +53,7 @@ group *group_parse(qd_parse *qd)
     case 0: {
       dh_param dp;
       qd_delim(qd, '{');
-      if (dh_parse(qd, &dp)) break;
+      if (dh_parse(qd, &dp)) goto ouch;
       qd_delim(qd, '}');
       g = group_prime(&dp);
       dh_paramfree(&dp);
@@ -61,12 +61,13 @@ group *group_parse(qd_parse *qd)
     case 1: {
       ec_info ei;
       qd_delim(qd, '{');
-      if (ec_infoparse(qd, &ei)) break;
+      if (ec_infoparse(qd, &ei)) goto ouch;
       qd_delim(qd, '}');
       g = group_ec(&ei);
     } break;
   }
   if (!g) qd->e = "bad group parameters";
+ouch:
   return (g);
 }