do not commit bad char* foo that breaks on !32 bit platforms
This commit is contained in:
parent
99fd65baf0
commit
3809fb37a5
2 changed files with 9 additions and 12 deletions
|
@ -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);
|
||||
|
|
|
@ -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) \
|
||||
|
|
Loading…
Reference in a new issue