- if(np->prog == NULL) {
- fprintf(stdout, "%s ---> #%04X\n", np->label, np->adr);
- } else {
- fprintf(stdout, "%s.%s ---> #%04X\n", np->prog, np->label, np->adr);
- }
+ assert(np->label != NULL);
+ ar[asize] = malloc_chk(sizeof(LABELARRAY), "ar[asize]");
+ ar[asize]->prog = (np->prog == NULL ? NULL : strdup(np->prog));
+ ar[asize]->label = strdup(np->label);
+ ar[asize++]->adr = np->adr;
+ }
+ }
+ qsort(ar, asize, sizeof(*ar), compare_adr);
+ for(i = 0; i < asize; i++) {
+ if(ar[i]->prog != NULL) {
+ fprintf(stdout, "%s.", ar[i]->prog);