heimdal:lib/asn1: try to fix the build on IRIX
authorStefan Metzmacher <metze@samba.org>
Sun, 10 Jun 2012 14:21:12 +0000 (16:21 +0200)
committerStefan Metzmacher <metze@samba.org>
Sun, 10 Jun 2012 16:16:28 +0000 (18:16 +0200)
cc-1028 cc: ERROR File = ../source4/heimdal/lib/asn1/gen_template.c, Line = 548
  The expression used must have a constant value.

  struct templatehead template = { 0L, &(template). tqh_first };
                                         ^
If this really fixes the IRIX build, we'll propose this for heimdal upstream.

metze

source4/heimdal/lib/asn1/gen_template.c

index edd68e12238009d796c30f2fa77667a507b4291b..06e48e276063280daafbf7ff2c5dd823a8d31d46 100644 (file)
@@ -545,13 +545,15 @@ template_members(struct templatehead *temp, const char *basetype, const char *na
     case TNull:
        break;
     case TBitString: {
-       struct templatehead template = ASN1_TAILQ_HEAD_INITIALIZER(template);
+       struct templatehead template;
        struct template *q;
        Member *m;
        size_t count = 0, i;
        char *bname = NULL;
        FILE *f = get_code_file();
 
+       ASN1_TAILQ_INIT(&template);
+
        if (ASN1_TAILQ_EMPTY(t->members)) {
            add_line(temp, "{ A1_PARSE_T(A1T_HEIM_BIT_STRING), %s, NULL }", poffset);
            break;
@@ -681,7 +683,7 @@ template_members(struct templatehead *temp, const char *basetype, const char *na
        break;
     }
     case TChoice: {
-       struct templatehead template = ASN1_TAILQ_HEAD_INITIALIZER(template);
+       struct templatehead template;
        struct template *q;
        size_t count = 0, i;
        char *tname = NULL;
@@ -690,6 +692,8 @@ template_members(struct templatehead *temp, const char *basetype, const char *na
        int ellipsis = 0;
        char *e;
 
+       ASN1_TAILQ_INIT(&template);
+
        if (asprintf(&tname, "asn1_choice_%s_%s%x",
                     basetype, name ? name : "", (unsigned int)(uintptr_t)t) < 0 || tname == NULL)
            errx(1, "malloc");