summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@redhat.com>2009-04-16 09:20:16 -0400
committerPeter Hutterer <peter.hutterer@who-t.net>2009-04-17 08:24:06 +1000
commita577bada8dddf3241a59cab812f5128131c46b29 (patch)
treed88ef6defd9923b748b0d64f001494633fd174d3
parentde6326a75de810752a5b4e4c2f5fe98a2f7241a9 (diff)
Fix set-float-prop on 64-bit architectures.
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>
-rw-r--r--src/property.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/property.c b/src/property.c
index 6729929..75bb973 100644
--- a/src/property.c
+++ b/src/property.c
@@ -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;