- ar[asize] = malloc(sizeof(LABELARRAY *));
- ar[asize]->prog = (np->prog == NULL ? NULL : strdup(np->prog));
- ar[asize]->label = strdup(np->label);
- ar[asize]->adr = np->adr;
- asize++;
+ assert(np->label != NULL);
+ ar[asize] = malloc_chk(sizeof(LABELARRAY), "ar[]");
+ if(np->prog == NULL) {
+ ar[asize]->prog = NULL;
+ } else {
+ ar[asize]->prog = strdup_chk(np->prog, "ar[].prog");
+ }
+ ar[asize]->label = strdup_chk(np->label, "ar[].label");
+ ar[asize++]->adr = np->adr;