all repos — openbox @ 3809fb37a5ccc1796cf0a2fdb5c87d3233adc687

openbox fork - make it a bit more like ryudo

do not commit bad char* foo that breaks on !32 bit platforms
Dana Jansens danakj@orodu.net
commit

3809fb37a5ccc1796cf0a2fdb5c87d3233adc687

parent

99fd65baf0b14356812ddc6881fd3fe2b996bd3b

2 files changed, 9 insertions(+), 12 deletions(-)

jump to
M openbox/prop.copenbox/prop.c

@@ -131,23 +131,21 @@ CREATE(openbox_pid, "_OPENBOX_PID");

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);
M openbox/prop.hopenbox/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 @@ (guchar*)&value, 1))

/* 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) \