Mercurial > hg > dmlib
diff tools/objlink.c @ 2586:9807ae37ad69
Require stdbool.h, we require C11 now.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 08 Dec 2022 15:59:22 +0200 |
parents | d56a0e86067a |
children |
line wrap: on
line diff
--- a/tools/objlink.c Thu Dec 08 15:56:36 2022 +0200 +++ b/tools/objlink.c Thu Dec 08 15:59:22 2022 +0200 @@ -156,9 +156,9 @@ char *optDestName = NULL; char *optLinkFileName = NULL; int optLinkFileFormat = FMT_GENERIC; -BOOL optDescribe = FALSE, - optAllowOverlap = FALSE, - optCropOutput = FALSE; +bool optDescribe = false, + optAllowOverlap = false, + optCropOutput = false; unsigned int optCropStart, optCropEnd; unsigned int optInitValue = 0; int optInitValueType = 1; @@ -270,11 +270,11 @@ } -BOOL dmParseSection(const char *arg, unsigned int *sectStart, unsigned int *sectEnd, char **sectName, BOOL canHasName) +bool dmParseSection(const char *arg, unsigned int *sectStart, unsigned int *sectEnd, char **sectName, bool canHasName) { char sectMode, *sep, *str, *namesep; unsigned int tmpi; - BOOL res = FALSE; + bool res = false; // Define reserved section // Create a copy of the argument @@ -347,7 +347,7 @@ *sectEnd = tmpi; } - res = TRUE; + res = true; out: dmFree(str); @@ -355,10 +355,10 @@ } -BOOL dmParseInputFile(char *arg, const int type1, const int type2, const char *desc, BOOL requireAddr) +bool dmParseInputFile(char *arg, const int type1, const int type2, const char *desc, bool requireAddr) { unsigned int tmpi = 0; - BOOL hasAddr = FALSE; + bool hasAddr = false; char *sep; if ((sep = strrchr(arg, ':')) != NULL) @@ -368,26 +368,26 @@ { dmErrorMsg("Invalid %s address '%s' specified for '%s'.\n", desc, sep + 1, arg); - return FALSE; + return false; } - hasAddr = TRUE; + hasAddr = true; } else if (requireAddr) { dmErrorMsg("No %s loading address specified for '%s'.\n", desc, arg); - return FALSE; + return false; } srcFiles[nsrcFiles].filename = arg; srcFiles[nsrcFiles].type = hasAddr ? type1 : type2; srcFiles[nsrcFiles].addr = tmpi; nsrcFiles++; - return TRUE; + return true; } -BOOL argHandleOpt(const int optN, char *optArg, char *currArg) +bool argHandleOpt(const int optN, char *optArg, char *currArg) { switch (optN) @@ -408,22 +408,22 @@ case 10: // Add RAW - if (!dmParseInputFile(optArg, STYPE_RAW, STYPE_RAW, "RAW", TRUE)) - return FALSE; + if (!dmParseInputFile(optArg, STYPE_RAW, STYPE_RAW, "RAW", true)) + return false; break; case 12: // Add PRG - if (!dmParseInputFile(optArg, STYPE_PRGA, STYPE_PRG, "PRG", FALSE)) - return FALSE; + if (!dmParseInputFile(optArg, STYPE_PRGA, STYPE_PRG, "PRG", false)) + return false; break; case 14: { char *sectName = "Clear"; unsigned int sectStart, sectEnd, sectLen; - if (!dmParseSection(optArg, §Start, §End, §Name, TRUE)) - return FALSE; + if (!dmParseSection(optArg, §Start, §End, §Name, true)) + return false; // Allocate memory block sectLen = sectEnd - sectStart + 1; @@ -431,7 +431,7 @@ sectStart, sectEnd, sectLen, sectLen, sectName); if (dmReserveMemBlock(sectStart, sectEnd, sectName, MTYPE_RES) != DMERR_OK) - return FALSE; + return false; } break; @@ -442,7 +442,7 @@ case 18: // Allow overlapping segments - optAllowOverlap = TRUE; + optAllowOverlap = true; break; case 20: @@ -451,7 +451,7 @@ if (optMemModel < 0 || optMemModel >= nmemoryModels) { dmErrorMsg("Invalid memory model number %i!\n", optMemModel); - return FALSE; + return false; } break; @@ -477,7 +477,7 @@ default: dmErrorMsg("Invalid/unknown linker file format '%s'!\n", optArg); - return FALSE; + return false; } break; @@ -499,13 +499,13 @@ default: dmErrorMsg("Invalid init value type '%c' specified for '%s'.\n", p[1], optArg); - return FALSE; + return false; } } if (!dmGetIntVal(optArg, &tmpi, NULL)) { dmErrorMsg("Invalid initvalue '%s'.\n", optArg); - return FALSE; + return false; } optInitValue = tmpi; } @@ -513,14 +513,14 @@ case 28: // Set describe mode - optDescribe = TRUE; + optDescribe = true; break; case 30: { size_t cropLen; - if (!dmParseSection(optArg, &optCropStart, &optCropEnd, NULL, FALSE)) - return FALSE; + if (!dmParseSection(optArg, &optCropStart, &optCropEnd, NULL, false)) + return false; cropLen = optCropEnd - optCropStart + 1; dmMsg(1, "Cutting output to $%.4x - $%.4x " @@ -528,7 +528,7 @@ optCropStart, optCropEnd, cropLen, cropLen); - optCropOutput = TRUE; + optCropOutput = true; } break; @@ -545,13 +545,13 @@ if (!dmGetIntVal(optArg, &tmpi, NULL)) { dmErrorMsg("Invalid loading address '%s'.\n", optArg); - return FALSE; + return false; } if (tmpi >= 64*1024) { dmErrorMsg("Invalid or insane loading address %d/$%x!\n", tmpi, tmpi); - return FALSE; + return false; } optLoadAddress = tmpi; } @@ -559,14 +559,14 @@ default: dmErrorMsg("Unimplemented option argument '%s'.\n", currArg); - return FALSE; + return false; } - return TRUE; + return true; } -int dmLoadPRG(const char *filename, const BOOL forceAddr, const int destAddr) +int dmLoadPRG(const char *filename, const bool forceAddr, const int destAddr) { FILE *fh; int dataSize, loadAddr, endAddr, res = DMERR_OK; @@ -843,7 +843,7 @@ int main(int argc, char *argv[]) { FILE *outFile = NULL; - BOOL hasOverlaps; + bool hasOverlaps; int res = DMERR_OK, startAddr, endAddr, dataSize, totalSize; dmInitProg("objlink", "Simple file-linker", "0.83", NULL, NULL); @@ -914,11 +914,11 @@ break; case STYPE_PRG: - dmLoadPRG(srcFiles[i].filename, FALSE, 0); + dmLoadPRG(srcFiles[i].filename, false, 0); break; case STYPE_PRGA: - dmLoadPRG(srcFiles[i].filename, TRUE, srcFiles[i].addr); + dmLoadPRG(srcFiles[i].filename, true, srcFiles[i].addr); break; } @@ -938,7 +938,7 @@ qsort(memBlocks, nmemBlocks, sizeof(DMMemBlock), dmCompareMemBlock); // Check for overlapping conflicts - hasOverlaps = FALSE; + hasOverlaps = false; for (int bk1 = 0; bk1 < nmemBlocks; bk1++) for (int bk2 = 0; bk2 < nmemBlocks; bk2++) if (bk1 != bk2) @@ -949,7 +949,7 @@ DMMemBlock *mb1 = &memBlocks[bk1], *mb2 = &memBlocks[bk2]; - BOOL found = FALSE; + bool found = false; if (mb1->type != MTYPE_RES) continue; @@ -958,7 +958,7 @@ { if (olp1->overlaps[no] == bk2) { - found = TRUE; + found = true; break; } } @@ -977,7 +977,7 @@ (res = dmAddOverlap(olp2, bk1)) != DMERR_OK) goto out; - hasOverlaps = TRUE; + hasOverlaps = true; } }