[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#471494: xserver-xorg-input-synaptics: uses obsolete libcwrapper



Package: xserver-xorg-input-synaptics
Version: 0.14.7~git20070706-2
Severity: important

xf86-input-synaptics doesn't work against xserver 1.5, because the libc
wrapper has been dropped. RH has a patch by Jarod Wilson
<jwilson@redhat.com> at
http://cvs.fedora.redhat.com/viewcvs/*checkout*/devel/synaptics/synaptics-0.14.6-delibcwrap.patch?rev=1.1
which I've ported to the current version in sid.

Cheers,
Julien
Patch by Jarod Wilson <jwilson@redhat.com>
Downloaded from http://cvs.fedora.redhat.com/viewcvs/*checkout*/devel/synaptics/synaptics-0.14.6-delibcwrap.patch?rev=1.1

--- xserver-xorg-input-synaptics.orig/synaptics.c
+++ xserver-xorg-input-synaptics/synaptics.c
@@ -70,7 +70,6 @@
 #include <misc.h>
 #include <xf86.h>
 #define NEED_XF86_TYPES
-#include <xf86_ansic.h>
 #include <xf86_OSproc.h>
 #include <xf86Xinput.h>
 #include "mipointer.h"
@@ -236,14 +235,14 @@
 	return TRUE;			    /* Already allocated */
 
     if (priv->shm_config) {
-	if ((shmid = xf86shmget(SHM_SYNAPTICS, 0, 0)) != -1)
-	    xf86shmctl(shmid, XF86IPC_RMID, NULL);
-	if ((shmid = xf86shmget(SHM_SYNAPTICS, sizeof(SynapticsSHM),
-				0777 | XF86IPC_CREAT)) == -1) {
+	if ((shmid = shmget(SHM_SYNAPTICS, 0, 0)) != -1)
+	    shmctl(shmid, IPC_RMID, NULL);
+	if ((shmid = shmget(SHM_SYNAPTICS, sizeof(SynapticsSHM),
+				0777 | IPC_CREAT)) == -1) {
 	    xf86Msg(X_ERROR, "%s error shmget\n", local->name);
 	    return FALSE;
 	}
-	if ((priv->synpara = (SynapticsSHM*)xf86shmat(shmid, NULL, 0)) == NULL) {
+	if ((priv->synpara = (SynapticsSHM*)shmat(shmid, NULL, 0)) == NULL) {
 	    xf86Msg(X_ERROR, "%s error shmat\n", local->name);
 	    return FALSE;
 	}
@@ -269,8 +268,8 @@
 	return;
 
     if (priv->shm_config) {
-	if ((shmid = xf86shmget(SHM_SYNAPTICS, 0, 0)) != -1)
-	    xf86shmctl(shmid, XF86IPC_RMID, NULL);
+	if ((shmid = shmget(SHM_SYNAPTICS, 0, 0)) != -1)
+	    shmctl(shmid, IPC_RMID, NULL);
     } else {
 	xfree(priv->synpara);
     }
@@ -284,7 +283,7 @@
     char *str_par;
     double value;
     str_par = xf86FindOptionValue(options, optname);
-    if ((!str_par) || (xf86sscanf(str_par, "%lf", &value) != 1))
+    if ((!str_par) || (sscanf(str_par, "%lf", &value) != 1))
 	return default_value;
     return value;
 }
@@ -491,8 +490,8 @@
     priv->fifofd = -1;
     if (repeater) {
 	/* create repeater fifo */
-	if ((xf86mknod(repeater, 666, XF86_S_IFIFO) != 0) &&
-	    (xf86errno != xf86_EEXIST)) {
+	if ((mknod(repeater, 666, S_IFIFO) != 0) &&
+	    (errno != EEXIST)) {
 	    xf86Msg(X_ERROR, "%s can't create repeater fifo\n", local->name);
 	} else {
 	    /* open the repeater fifo */
@@ -501,7 +500,7 @@
 		xf86Msg(X_ERROR, "%s repeater device open failed\n", local->name);
 	    }
 	}
-	xf86free(repeater);
+	free(repeater);
     }
 
     if (!QueryHardware(local)) {
@@ -697,7 +696,7 @@
 static int
 move_distance(int dx, int dy)
 {
-    return xf86sqrt(SQR(dx) + SQR(dy));
+    return sqrt((dx * dx) + (dy * dy));
 }
 
 /*
@@ -732,14 +731,14 @@
     double xCenter = (priv->synpara->left_edge + priv->synpara->right_edge) / 2.0;
     double yCenter = (priv->synpara->top_edge + priv->synpara->bottom_edge) / 2.0;
 
-    return xf86atan2(-(y - yCenter), x - xCenter);
+    return atan2(-(y - yCenter), x - xCenter);
 }
 
 /* return angle difference */
 static double
 diffa(double a1, double a2)
 {
-    double da = xf86fmod(a2 - a1, 2 * M_PI);
+    double da = fmod(a2 - a1, 2 * M_PI);
     if (da < 0)
 	da += 2 * M_PI;
     if (da > M_PI)
@@ -847,7 +846,7 @@
 	int c;
 	while ((c = XisbRead(priv->comm.buffer)) >= 0) {
 	    unsigned char u = (unsigned char)c;
-	    xf86write(priv->fifofd, &u, 1);
+	    write(priv->fifofd, &u, 1);
 	    if (++count >= 3)
 		break;
 	}
@@ -1405,10 +1404,10 @@
 
 	    /* save the fraction, report the integer part */
 	    tmpf = dx * speed + x_edge_speed * dtime + priv->frac_x;
-	    priv->frac_x = xf86modf(tmpf, &integral);
+	    priv->frac_x = modf(tmpf, &integral);
 	    dx = integral;
 	    tmpf = dy * speed + y_edge_speed * dtime + priv->frac_y;
-	    priv->frac_y = xf86modf(tmpf, &integral);
+	    priv->frac_y = modf(tmpf, &integral);
 	    dy = integral;
 	}
 
--- xserver-xorg-input-synaptics.orig/synaptics.h
+++ xserver-xorg-input-synaptics/synaptics.h
@@ -1,6 +1,18 @@
 #ifndef	_SYNAPTICS_H_
 #define _SYNAPTICS_H_
 
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <math.h>
+#include <stdlib.h>
+
 #include <X11/Xdefs.h>
 
 /******************************************************************************

Reply to: