]> diplodocus.org Git - xorg-xinput/commitdiff
Fix set-float-prop on 64-bit architectures.
authorPeter Hutterer <peter.hutterer@redhat.com>
Thu, 16 Apr 2009 13:20:16 +0000 (09:20 -0400)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 16 Apr 2009 22:24:06 +0000 (08:24 +1000)
Since 32-byte data on 64-bit machines must be passed in as 64-bit longs, let's
typecast around a bit.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
src/property.c

index 6729929daf9c0cfb0fc9ce9c74db53988437fad3..75bb9739ae56d465c5f658c328baffab829bc216 100644 (file)
@@ -251,7 +251,7 @@ set_float_prop(Display *dpy, int argc, char** argv, char* n, char *desc)
     char        *name;
     int          i;
     Bool         is_atom = True;
-    float       *data;
+    long        *data;
     int          nelements =  0;
     char*        endptr;
 
@@ -305,10 +305,10 @@ set_float_prop(Display *dpy, int argc, char** argv, char* n, char *desc)
        return EXIT_FAILURE;
     }
 
-    data = calloc(nelements, 4);
+    data = calloc(nelements, sizeof(long));
     for (i = 0; i < nelements; i++)
     {
-        *(data + i) = strtod(argv[2 + i], &endptr);
+        *((float*)(data + i)) = strtod(argv[2 + i], &endptr);
        if(endptr == argv[2 + i]){
            fprintf(stderr, "argument %s could not be parsed\n", argv[2 + i]);
            return EXIT_FAILURE;