From 3809fb37a5ccc1796cf0a2fdb5c87d3233adc687 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 14 Apr 2003 17:06:32 +0000 Subject: [PATCH] do not commit bad char* foo that breaks on !32 bit platforms --- openbox/prop.c | 14 ++++++-------- openbox/prop.h | 7 +++---- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/openbox/prop.c b/openbox/prop.c index 97f5fb94..52562f86 100644 --- a/openbox/prop.c +++ b/openbox/prop.c @@ -131,23 +131,21 @@ void prop_startup() CREATE(openbox_premax, "_OPENBOX_PREMAX"); } -gboolean prop_get(Window win, Atom prop, Atom type, int size, - guchar **data, gulong num) +gboolean prop_get32(Window win, Atom prop, Atom type, gulong **data,gulong num) { gboolean ret = FALSE; int res; - guchar *xdata = NULL; + gulong *xdata = NULL; Atom ret_type; int ret_size; gulong ret_items, bytes_left; - long num32 = 32 / size * num; /* num in 32-bit elements */ - res = XGetWindowProperty(ob_display, win, prop, 0l, num32, + res = XGetWindowProperty(ob_display, win, prop, 0l, num, FALSE, type, &ret_type, &ret_size, - &ret_items, &bytes_left, &xdata); + &ret_items, &bytes_left, (guchar**)&xdata); if (res == Success && ret_items && xdata) { - if (ret_size == size && ret_items >= num) { - *data = g_memdup(xdata, num * (size / 8)); + if (ret_size == 32 && ret_items >= num) { + *data = g_memdup(xdata, num * sizeof(gulong)); ret = TRUE; } XFree(xdata); diff --git a/openbox/prop.h b/openbox/prop.h index c2de3b20..7899507f 100644 --- a/openbox/prop.h +++ b/openbox/prop.h @@ -139,8 +139,8 @@ Atoms prop_atoms; void prop_startup(); -gboolean prop_get(Window win, Atom prop, Atom type, int size, - guchar **data, gulong num); +gboolean prop_get32(Window win, Atom prop, Atom type, + gulong **data, gulong num); gboolean prop_get_prealloc(Window win, Atom prop, Atom type, int size, guchar *data, gulong num); @@ -201,8 +201,7 @@ void prop_message(Window about, Atom messagetype, long data0, long data1, /* Get an amount of a 32-bit property into an array (which must be freed) */ #define PROP_GET32A(win, prop, type, value, num) \ - (prop_get(win, prop_atoms.prop, prop_atoms.type, 32, \ - (guchar**)&value, num)) + (prop_get32(win, prop_atoms.prop, prop_atoms.type, (gulong**)&value, num)) /* Get an entire 32-bit property into an array (which must be freed) */ #define PROP_GET32U(win, prop, type, value, num) \ -- 2.45.2