X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flabel.c;h=85fb172c989492d64923cd3c8c22301582f3be07;hb=539d2aa8319c65bd9782de8782deb45fae28243c;hp=04a757d905e7c7fbcd705df70fa2b7397c3ec056;hpb=6b30a23640168f0b99e70ad87ab4c5a98015ee02;p=YACASL2.git diff --git a/src/label.c b/src/label.c index 04a757d..85fb172 100644 --- a/src/label.c +++ b/src/label.c @@ -122,18 +122,19 @@ void printlabel() { int i, s = 0; LABELTAB *p; - LABELARRAY *l[labelcnt]; + LABELARRAY **l; + l = calloc_chk(labelcnt, sizeof(LABELARRAY **), "labels"); for(i = 0; i < LABELTABSIZE; i++) { for(p = labels[i]; p != NULL; p = p->next) { assert(p->label != NULL); - l[s] = malloc_chk(sizeof(LABELARRAY), "l[]"); + l[s] = malloc_chk(sizeof(LABELARRAY), "lables"); if(p->prog == NULL) { l[s]->prog = NULL; } else { - l[s]->prog = strdup_chk(p->prog, "l[].prog"); + l[s]->prog = strdup_chk(p->prog, "labels.prog"); } - l[s]->label = strdup_chk(p->label, "l[].label"); + l[s]->label = strdup_chk(p->label, "labels.label"); l[s++]->adr = p->adr; } } @@ -144,6 +145,7 @@ void printlabel() } fprintf(stdout, "%s ---> #%04X\n", l[i]->label, l[i]->adr); } + FREE(l); } /**