| 432 | } |
| 433 | |
| 434 | txLinkerResource* fxNewLinkerResource(txLinker* linker, txString path, FILE** fileAddress) |
| 435 | { |
| 436 | txLinkerResource* result = fxNewLinkerChunkClear(linker, sizeof(txLinkerResource)); |
| 437 | FILE* aFile = NULL; |
| 438 | result->path = fxNewLinkerString(linker, path, mxStringLength(path)); |
| 439 | aFile = fopen(path, "rb"); |
| 440 | mxThrowElse(aFile); |
| 441 | *fileAddress = aFile; |
| 442 | fseek(aFile, 0, SEEK_END); |
| 443 | result->dataSize = ftell(aFile); |
| 444 | fseek(aFile, 0, SEEK_SET); |
| 445 | result->dataBuffer = fxNewLinkerChunk(linker, result->dataSize);; |
| 446 | mxThrowElse(fread(result->dataBuffer, result->dataSize, 1, aFile) == 1); |
| 447 | fclose(aFile); |
| 448 | *fileAddress = NULL; |
| 449 | return result; |
| 450 | } |
| 451 | |
| 452 | txLinkerScript* fxNewLinkerScript(txLinker* linker, txString path, FILE** fileAddress) |
| 453 | { |
no test coverage detected