2013-09-26 17:14:40 +02:00

166 lines
3.9 KiB
Plaintext

$NetBSD: patch-am,v 1.3 2013/03/02 17:51:49 joerg Exp $
--- src/lib/fte/x11.c.orig 1993-04-14 19:44:56.000000000 +0000
+++ src/lib/fte/x11.c
@@ -12,6 +12,7 @@ Author: 1988 Jeffrey M. Hsu
#ifdef HAS_X11
# include <sys/time.h>
+# include <sys/select.h>
# include "util.h"
@@ -39,7 +40,7 @@ extern int _Xdebug;
/* forward declarations */
extern void handlebuttonev(), handlekeypressed(), killwin(), hardcopy(),
redraw(), resize();
-int errorhandler();
+static void errorhandler(Display *display, XErrorEvent *errorev);
#define RAD_TO_DEG (180.0 / M_PI)
@@ -62,6 +63,12 @@ typedef struct x11info {
#define DEVDEP(g) (*((X11devdep *) (g)->devdep))
static void linear_arc( );
+static void initlinestyles( );
+static void initcolors( );
+static void X_ScreentoData( );
+
+static void slopelocation(GRAPH *graph, int x0, int y0);
+
static Display *display;
static GC xorgc;
static char *xlinestyles[NUMLINESTYLES] = { /* test patterns XXX */
@@ -145,10 +152,8 @@ X11_Init()
}
-int
-errorhandler(display, errorev)
-Display *display;
-XErrorEvent *errorev;
+static void
+errorhandler(Display *display, XErrorEvent *errorev)
{
XGetErrorText(display, errorev->error_code, ErrorMessage, 1024);
externalerror(ErrorMessage);
@@ -302,7 +307,7 @@ GRAPH *graph;
return (0);
}
-static
+static void
initlinestyles()
{
@@ -318,7 +323,7 @@ initlinestyles()
return;
}
-static
+static void
initcolors(graph)
GRAPH *graph;
{
@@ -405,9 +410,7 @@ int x1, y1, x2, y2;
}
/*ARGSUSED*/
-X11_Arc(x0, y0, radius, theta1, theta2)
-int x0, y0, radius;
-double theta1, theta2;
+void X11_Arc(int x0, int y0, int radius, double theta1, double theta2)
{
int t1, t2;
@@ -612,9 +615,7 @@ caddr_t clientdata, calldata;
}
# endif
-slopelocation(graph, x0, y0)
-GRAPH *graph;
-int x0, y0; /* initial position of mouse */
+static void slopelocation(GRAPH *graph, int x0, int y0)
{
int x1, y1;
@@ -773,12 +774,15 @@ GRAPH *graph;
graph->commandline, fx0, fx1, fy0, fy1);
}
+/* don't use the following if using GNU Readline - AV */
+#ifndef HAS_GNUREADLINE
/* hack for Gordon Jacobs */
/* add to history list if plothistory is set */
if (cp_getvar("plothistory", VT_BOOL, (char *) &dummy)) {
wl = cp_parse(buf);
(void) cp_addhistent(cp_event++, wl);
}
+#endif /* HAS_GNUREADLINE */
(void) cp_evloop(buf);
@@ -915,13 +919,12 @@ static int inchar(fp)
}
# endif
-X11_Input(request, response)
- REQUEST *request;
- RESPONSE *response;
+void X11_Input(REQUEST *request, RESPONSE *response)
{
XEvent ev;
- int nfds, readfds;
+ int nfds;
+ fd_set readfds;
switch (request->option) {
case char_option:
@@ -938,14 +941,15 @@ X11_Input(request, response)
XtDispatchEvent(&ev);
}
- readfds = 1 << fileno(request->fp) |
- 1 << ConnectionNumber(display);
+ FD_ZERO(&readfds);
+ FD_SET(fileno(request->fp), &readfds);
+ FD_SET(ConnectionNumber(display), &readfds);
/* block on ConnectionNumber and request->fp */
- select(nfds + 1, &readfds, (int *) NULL, (int *) NULL, NULL);
+ select(nfds + 1, &readfds, NULL, NULL, NULL);
/* handle X events first */
- if (readfds & (1 << ConnectionNumber(display))) {
+ if (FD_ISSET(ConnectionNumber(display),&readfds)) {
/* handle ALL X events */
while (XtPending()) {
XtNextEvent(&ev);
@@ -953,7 +957,7 @@ X11_Input(request, response)
}
}
- if (readfds & (1 << fileno(request->fp))) {
+ if (FD_ISSET(fileno(request->fp), &readfds)) {
response->reply.ch = inchar(request->fp);
goto out;
}
@@ -995,10 +999,11 @@ out:
}
-static X_ScreentoData(graph, x, y, fx, fy)
-GRAPH *graph;
-int x,y;
-double *fx, *fy;
+static void
+X_ScreentoData(graph, x, y, fx, fy)
+ GRAPH *graph;
+ int x,y;
+ double *fx, *fy;
{
double lmin, lmax;