xkb: XkbSendCompatMap(): pass xkbGetCompatMapReply as value instead of pointer
It's not passing back any data via that pointer and actually the last consumer of it. Changing it to value instead of pointer clears the road for further simplifications by subsequent patches. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
		
							parent
							
								
									73fd170987
								
							
						
					
					
						commit
						d1555edcc2
					
				
							
								
								
									
										32
									
								
								xkb/xkb.c
								
								
								
								
							
							
						
						
									
										32
									
								
								xkb/xkb.c
								
								
								
								
							| 
						 | 
				
			
			@ -2804,22 +2804,22 @@ XkbComputeGetCompatMapReplySize(XkbCompatMapPtr compat,
 | 
			
		|||
 | 
			
		||||
static int
 | 
			
		||||
XkbSendCompatMap(ClientPtr client,
 | 
			
		||||
                 XkbCompatMapPtr compat, xkbGetCompatMapReply * rep)
 | 
			
		||||
                 XkbCompatMapPtr compat, xkbGetCompatMapReply rep)
 | 
			
		||||
{
 | 
			
		||||
    char *data;
 | 
			
		||||
    int size;
 | 
			
		||||
 | 
			
		||||
    if (rep->length > 0) {
 | 
			
		||||
        data = calloc(rep->length, 4);
 | 
			
		||||
    if (rep.length > 0) {
 | 
			
		||||
        data = calloc(rep.length, 4);
 | 
			
		||||
        if (data) {
 | 
			
		||||
            register unsigned i, bit;
 | 
			
		||||
            xkbModsWireDesc *grp;
 | 
			
		||||
            XkbSymInterpretPtr sym = &compat->sym_interpret[rep->firstSI];
 | 
			
		||||
            XkbSymInterpretPtr sym = &compat->sym_interpret[rep.firstSI];
 | 
			
		||||
            xkbSymInterpretWireDesc *wire = (xkbSymInterpretWireDesc *) data;
 | 
			
		||||
 | 
			
		||||
            size = rep->length * 4;
 | 
			
		||||
            size = rep.length * 4;
 | 
			
		||||
 | 
			
		||||
            for (i = 0; i < rep->nSI; i++, sym++, wire++) {
 | 
			
		||||
            for (i = 0; i < rep.nSI; i++, sym++, wire++) {
 | 
			
		||||
                wire->sym = sym->sym;
 | 
			
		||||
                wire->mods = sym->mods;
 | 
			
		||||
                wire->match = sym->match;
 | 
			
		||||
| 
						 | 
				
			
			@ -2831,10 +2831,10 @@ XkbSendCompatMap(ClientPtr client,
 | 
			
		|||
                    swapl(&wire->sym);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (rep->groups) {
 | 
			
		||||
            if (rep.groups) {
 | 
			
		||||
                grp = (xkbModsWireDesc *) wire;
 | 
			
		||||
                for (i = 0, bit = 1; i < XkbNumKbdGroups; i++, bit <<= 1) {
 | 
			
		||||
                    if (rep->groups & bit) {
 | 
			
		||||
                    if (rep.groups & bit) {
 | 
			
		||||
                        grp->mask = compat->groups[i].mask;
 | 
			
		||||
                        grp->realMods = compat->groups[i].real_mods;
 | 
			
		||||
                        grp->virtualMods = compat->groups[i].vmods;
 | 
			
		||||
| 
						 | 
				
			
			@ -2854,14 +2854,14 @@ XkbSendCompatMap(ClientPtr client,
 | 
			
		|||
        data = NULL;
 | 
			
		||||
 | 
			
		||||
    if (client->swapped) {
 | 
			
		||||
        swaps(&rep->sequenceNumber);
 | 
			
		||||
        swapl(&rep->length);
 | 
			
		||||
        swaps(&rep->firstSI);
 | 
			
		||||
        swaps(&rep->nSI);
 | 
			
		||||
        swaps(&rep->nTotalSI);
 | 
			
		||||
        swaps(&rep.sequenceNumber);
 | 
			
		||||
        swapl(&rep.length);
 | 
			
		||||
        swaps(&rep.firstSI);
 | 
			
		||||
        swaps(&rep.nSI);
 | 
			
		||||
        swaps(&rep.nTotalSI);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    WriteToClient(client, SIZEOF(xkbGetCompatMapReply), rep);
 | 
			
		||||
    WriteToClient(client, sizeof(xkbGetCompatMapReply), &rep);
 | 
			
		||||
    if (data) {
 | 
			
		||||
        WriteToClient(client, size, data);
 | 
			
		||||
        free((char *) data);
 | 
			
		||||
| 
						 | 
				
			
			@ -2906,7 +2906,7 @@ ProcXkbGetCompatMap(ClientPtr client)
 | 
			
		|||
        return BadValue;
 | 
			
		||||
    }
 | 
			
		||||
    XkbComputeGetCompatMapReplySize(compat, &rep);
 | 
			
		||||
    return XkbSendCompatMap(client, compat, &rep);
 | 
			
		||||
    return XkbSendCompatMap(client, compat, rep);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -6118,7 +6118,7 @@ ProcXkbGetKbdByName(ClientPtr client)
 | 
			
		|||
    if (reported & (XkbGBN_SymbolsMask | XkbGBN_TypesMask))
 | 
			
		||||
        XkbSendMap(client, new, mrep);
 | 
			
		||||
    if (reported & XkbGBN_CompatMapMask)
 | 
			
		||||
        XkbSendCompatMap(client, new->compat, &crep);
 | 
			
		||||
        XkbSendCompatMap(client, new->compat, crep);
 | 
			
		||||
    if (reported & XkbGBN_IndicatorMapMask)
 | 
			
		||||
        XkbSendIndicatorMap(client, new->indicators, &irep);
 | 
			
		||||
    if (reported & (XkbGBN_KeyNamesMask | XkbGBN_OtherNamesMask))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue