gnuplot/gnuplot-4.4.0-x11ovf.dif

40 lines
1008 B
Plaintext

---
src/gplt_x11.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
--- src/gplt_x11.c
+++ src/gplt_x11.c 2020-07-17 07:29:52.061621215 +0000
@@ -954,6 +954,8 @@ mainloop()
nfds = cn + 1;
while (1) {
+ int ipc;
+
XFlush(dpy); /* see above */
FD_ZERO(&tset);
@@ -991,7 +993,11 @@ mainloop()
process_event(&xe);
}
}
- if ((X11_ipc = fopen(X11_ipcpath, "r"))) {
+
+ if ((ipc = open(X11_ipcpath, O_RDONLY|O_CREAT|O_CLOEXEC|O_EXCL)) < 0)
+ break;
+
+ if ((X11_ipc = dfopen(ipc, "r"))) {
unlink(X11_ipcpath);
record();
fclose(X11_ipc);
@@ -1223,8 +1229,8 @@ static int read_input(void);
static int
read_input()
{
- static int rdbuf_size = 10 * X11_COMMAND_BUFFER_LENGTH;
- static char rdbuf[10 * X11_COMMAND_BUFFER_LENGTH];
+ const int rdbuf_size = 10 * X11_COMMAND_BUFFER_LENGTH;
+ static char rdbuf[(10 * X11_COMMAND_BUFFER_LENGTH)+1];
static int total_chars;
static int rdbuf_offset;
static int buf_offset;