- 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);
- }
+ 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++;
+ }
+ }
+ qsort(ar, asize, sizeof(*ar), compare_adr);
+ for(i = 0; i < asize; i++) {
+ if(ar[i]->prog != NULL) {
+ fprintf(stdout, "%s.", ar[i]->prog);