Mercurial > hg > dmlib
comparison tools/objlink.c @ 2561:56510bd4c66b
Cleanup.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 27 Feb 2022 17:58:33 +0200 |
parents | ac2e60f4bfc3 |
children | 5c9056f381ae |
comparison
equal
deleted
inserted
replaced
2560:ac2e60f4bfc3 | 2561:56510bd4c66b |
---|---|
911 // Sort the blocks | 911 // Sort the blocks |
912 qsort(memBlocks, nmemBlocks, sizeof(DMMemBlock), dmCompareMemBlock); | 912 qsort(memBlocks, nmemBlocks, sizeof(DMMemBlock), dmCompareMemBlock); |
913 | 913 |
914 // Check for overlapping conflicts | 914 // Check for overlapping conflicts |
915 hasOverlaps = FALSE; | 915 hasOverlaps = FALSE; |
916 for (int i = 0; i < nmemBlocks; i++) | 916 for (int bk1 = 0; bk1 < nmemBlocks; bk1++) |
917 for (int j = 0; j < nmemBlocks; j++) | 917 for (int bk2 = 0; bk2 < nmemBlocks; bk2++) |
918 if (j != i && memBlocks[i].type == MTYPE_RES) | 918 if (bk1 != bk2) |
919 { | 919 { |
920 DMMemBlock *mbi = &memBlocks[i], | 920 DMMemBlock *mb1 = &memBlocks[bk1], |
921 *mbj = &memBlocks[j]; | 921 *mb2 = &memBlocks[bk2]; |
922 | |
923 if (mb1->type != MTYPE_RES) | |
924 continue; | |
922 | 925 |
923 // Check for per-file conflicts | 926 // Check for per-file conflicts |
924 if ((mbj->start >= mbi->start && mbj->start <= mbi->end) || | 927 if ((mb2->start >= mb1->start && mb2->start <= mb1->end) || |
925 (mbj->end >= mbi->start && mbj->end <= mbi->end)) | 928 (mb2->end >= mb1->start && mb2->end <= mb1->end)) |
926 { | 929 { |
927 dmPrint(1, "* '%s' and '%s' overlap ($%.4x-$%.4x vs $%.4x-$%.4x)\n", | 930 dmErrorMsg("* '%s' and '%s' overlap ($%.4x-$%.4x vs $%.4x-$%.4x)\n", |
928 mbi->name, mbj->name, mbi->start, | 931 mb1->name, mb2->name, mb1->start, |
929 mbi->end, mbj->start, mbj->end); | 932 mb1->end, mb2->start, mb2->end); |
933 | |
930 hasOverlaps = TRUE; | 934 hasOverlaps = TRUE; |
931 } | 935 } |
932 } | 936 } |
933 | 937 |
934 if (!optAllowOverlap && hasOverlaps) | 938 if (!optAllowOverlap && hasOverlaps) |