From 6d64c4164c0c2269b1b5a998f1869a6419c3471d Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Tue, 23 Jul 2013 22:11:34 -0700 Subject: XSetModifierMapping: Use Data instead of GetReqExtra Handle arbitrary length data in the same fashion as other calls, avoiding need to ensure it fits all in the request buffer. Signed-off-by: Alan Coopersmith Backported-to-NX-by: Ulrich Sibiller --- nx-X11/lib/X11/ModMap.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'nx-X11/lib') diff --git a/nx-X11/lib/X11/ModMap.c b/nx-X11/lib/X11/ModMap.c index 3c6971c77..2fabc560c 100644 --- a/nx-X11/lib/X11/ModMap.c +++ b/nx-X11/lib/X11/ModMap.c @@ -79,17 +79,11 @@ XSetModifierMapping( int mapSize = modifier_map->max_keypermod << 3; /* 8 modifiers */ LockDisplay(dpy); - GetReqExtra(SetModifierMapping, mapSize, req); - if (!req) { - UnlockDisplay(dpy); - return MappingFailed; - } - + GetReq(SetModifierMapping, req); + req->length += mapSize >> 2; req->numKeyPerModifier = modifier_map->max_keypermod; - memcpy((char *) NEXTPTR(req,xSetModifierMappingReq), - (char *) modifier_map->modifiermap, - mapSize); + Data(dpy, modifier_map->modifiermap, mapSize); (void) _XReply(dpy, (xReply *) & rep, (SIZEOF(xSetModifierMappingReply) - SIZEOF(xReply)) >> 2, xTrue); -- cgit v1.2.3