summaryrefslogtreecommitdiff
path: root/emulators/snes9x/files/patch-aj
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/snes9x/files/patch-aj')
-rw-r--r--emulators/snes9x/files/patch-aj41
1 files changed, 41 insertions, 0 deletions
diff --git a/emulators/snes9x/files/patch-aj b/emulators/snes9x/files/patch-aj
new file mode 100644
index 000000000000..1230887f0cb2
--- /dev/null
+++ b/emulators/snes9x/files/patch-aj
@@ -0,0 +1,41 @@
+--- netplay.cpp.orig Fri Oct 13 18:44:41 2000
++++ netplay.cpp Fri Oct 13 18:56:53 2000
+@@ -682,22 +682,24 @@
+ return;
+ }
+ char fname [L_tmpnam];
+- FILE *tmp;
+- if (tmpnam (fname))
++ int tmp;
++ int flen = snprintf(fname, sizeof(fname), "%s/snes9x.XXXXXX",
++ getenv("TMPDIR") ? getenv("TMPDIR") : P_tmpdir);
++ if (flen == -1 || flen >= sizeof(fname) || (tmp = mkstemp(fname)) == -1)
+ {
+- if ((tmp = fopen (fname, "wb")))
+- {
+- if (fwrite (data, 1, len, tmp) == len)
+- {
+- fclose (tmp);
+- if (!S9xUnfreezeGame (fname))
+- S9xNPSetError ("Unable to load freeze file just received.");
+- }
+- else
+- fclose (tmp);
+- }
+- remove (fname);
++ S9xNPSetError("Unable to open a temporary freeze file.");
++ delete data;
++ return;
+ }
++ if (write(tmp, data, len) == len)
++ {
++ close(tmp);
++ if (!S9xUnfreezeGame (fname))
++ S9xNPSetError ("Unable to load freeze file just received.");
++ }
++ else
++ close(tmp);
++ remove(fname);
+ delete data;
+ }
+