mirror of
https://github.com/gbdev/rgbds.git
synced 2026-08-22 23:04:29 +00:00
Avoid closing stdin/stdout/stderr standard streams
This commit is contained in:
+2
-1
@@ -19,6 +19,7 @@
|
||||
#include "helpers.hpp"
|
||||
#include "linkdefs.hpp"
|
||||
#include "platform.hpp"
|
||||
#include "util.hpp" // xfclose
|
||||
#include "verbosity.hpp"
|
||||
#include "version.hpp"
|
||||
|
||||
@@ -446,7 +447,7 @@ void obj_ReadFile(std::string const &filePath, size_t fileID) {
|
||||
if (!file) {
|
||||
fatal("Failed to open file \"%s\": %s", fileName, strerror(errno));
|
||||
}
|
||||
Defer closeFile{[&] { fclose(file); }};
|
||||
Defer closeFile{[&] { xfclose(file); }};
|
||||
|
||||
// First, check if the object is a RGBDS object, a SDCC one, or neither.
|
||||
// A single `ungetc` is guaranteed to work.
|
||||
|
||||
+4
-4
@@ -218,7 +218,7 @@ static void writeROM() {
|
||||
}
|
||||
Defer closeOutputFile{[&] {
|
||||
if (outputFile) {
|
||||
fclose(outputFile);
|
||||
xfclose(outputFile);
|
||||
}
|
||||
}};
|
||||
|
||||
@@ -237,7 +237,7 @@ static void writeROM() {
|
||||
}
|
||||
Defer closeOverlayFile{[&] {
|
||||
if (overlayFile) {
|
||||
fclose(overlayFile);
|
||||
xfclose(overlayFile);
|
||||
}
|
||||
}};
|
||||
|
||||
@@ -556,7 +556,7 @@ static void writeSym() {
|
||||
if (!symFile) {
|
||||
fatal("Failed to open sym file \"%s\": %s", symFileName, strerror(errno));
|
||||
}
|
||||
Defer closeSymFile{[&] { fclose(symFile); }};
|
||||
Defer closeSymFile{[&] { xfclose(symFile); }};
|
||||
|
||||
fputs("; File generated by rgblink\n", symFile);
|
||||
|
||||
@@ -607,7 +607,7 @@ static void writeMap() {
|
||||
if (!mapFile) {
|
||||
fatal("Failed to open map file \"%s\": %s", mapFileName, strerror(errno));
|
||||
}
|
||||
Defer closeMapFile{[&] { fclose(mapFile); }};
|
||||
Defer closeMapFile{[&] { xfclose(mapFile); }};
|
||||
|
||||
writeMapSummary();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user