diff options
author | Peter Hutterer <peter.hutterer@redhat.com> | 2009-04-16 09:20:16 -0400 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-04-17 08:24:06 +1000 |
commit | a577bada8dddf3241a59cab812f5128131c46b29 (patch) | |
tree | d88ef6defd9923b748b0d64f001494633fd174d3 | |
parent | de6326a75de810752a5b4e4c2f5fe98a2f7241a9 (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.c | 6 |
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; |