ports/math/grace/patches/patch-src_editpwin_c

29 lines
744 B
Text

Index: src/editpwin.c
--- src/editpwin.c.orig
+++ src/editpwin.c
@@ -776,15 +776,19 @@ void create_ss_frame(int gno, int setno)
*/
void do_ext_editor(int gno, int setno)
{
- char *fname, ebuf[256];
+ char fname[GR_MAXPATHLEN], ebuf[256];
FILE *cp;
- int save_autos;
+ int save_autos, fd;
- fname = tmpnam(NULL);
- cp = grace_openw(fname);
- if (cp == NULL) {
+ strlcpy(fname, P_tmpdir, sizeof fname);
+ strlcat(fname, "grace-XXXXXXXXXX", sizeof fname);
+ fd = mkstemp(fname);
+ if (fd == -1) {
+ errmsg("Could not create tmp file.");
return;
- }
+ } else
+ close(fd);
+ cp = filter_write(fname);
write_set(gno, setno, cp, sformat, FALSE);
grace_close(cp);