Fix games/enigma to keep it compilable after forthcoming stdio opaque

diffs.  Substituting a FILE object for std{out,err} will be
impossible.

ok sthen
This commit is contained in:
yasuoka
2025-07-16 00:36:36 +00:00
parent e0368411d4
commit de3ec9ae41
2 changed files with 30 additions and 1 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ COMMENT= Oxyd/Rock'n'Roll clone
V= 1.30
PKGNAME= enigma-${V}
DISTNAME= Enigma-${V}
REVISION= 0
REVISION= 1
CATEGORIES= games x11
+29
View File
@@ -0,0 +1,29 @@
Index: src/main.cc
--- src/main.cc.orig
+++ src/main.cc
@@ -313,21 +313,25 @@ void Application::init(int argc, char **argv)
if (ap.redirect) {
FILE *newfp;
newfp = std::freopen((userStdPath + "/Output.log").c_str(), "w", stdout);
+#if 0 /* can't substitute a FILE object for stdout if FILE is an opaque. */
if ( newfp == NULL ) { // This happens on NT
newfp = fopen((userStdPath + "/Output.log").c_str(), "w");
if (newfp) { // in case stdout is a macro
*stdout = *newfp;
}
}
+#endif
setvbuf(stdout, NULL, _IOLBF, BUFSIZ); // Line buffered
newfp = std::freopen((userStdPath + "/Error.log").c_str(), "w", stderr);
+#if 0 /* can't substitute a FILE object for stdout if FILE is an opaque. */
if ( newfp == NULL ) { // This happens on NT
newfp = fopen((userStdPath + "/Error.log").c_str(), "w");
if (newfp) { // in case stderr is a macro
*stderr = *newfp;
}
}
+#endif
setbuf(stderr, NULL); // No buffering
}