summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-04-30 14:50:08 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-04-30 14:50:21 +1000
commit65e3e12fa6fc2043fbb0122c72a4f7df09b1c659 (patch)
treef379f17c590cebf2b86d0295f7a369a62703f28b
parent2722d1a177c9482989e314e0177c782563a0b54e (diff)
If there's multiple null-terminated strings in the property, print all.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--src/property.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/property.c b/src/property.c
index 9c5e86b..f30b01b 100644
--- a/src/property.c
+++ b/src/property.c
@@ -74,9 +74,17 @@ print_property(Display *dpy, XDevice* dev, Atom property)
}
break;
case XA_STRING:
- printf("\"%s\"", ptr);
- done = True;
- break;
+ {
+ int len = 0;
+ unsigned char *p = ptr;
+ while(len < nitems)
+ {
+ printf("'%s' ", &p[len]);
+ len += (strlen(&p[len]) + 1);
+ }
+ done = True;
+ break;
+ }
case XA_ATOM:
printf("\"%s\"", XGetAtomName(dpy, *(Atom*)ptr));
break;
@@ -95,10 +103,10 @@ print_property(Display *dpy, XDevice* dev, Atom property)
ptr += act_format/8;
- if (j < nitems - 1)
- printf(", ");
if (done == True)
break;
+ if (j < nitems - 1)
+ printf(", ");
}
printf("\n");
XFree(data);