(submit/xext-saver) Xext: saver: use explicit switch/case for dispatching
It's more robust / easier understandable programming style to use explicit switch statements, case'ing on the constants defined in the protocol header, instead of implicitly via a some opaque call table. It's also done this way in the other extensions, so making the code a bit more consistent. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
		
							parent
							
								
									eb28845b2c
								
							
						
					
					
						commit
						72801d2c74
					
				
							
								
								
									
										54
									
								
								Xext/saver.c
								
								
								
								
							
							
						
						
									
										54
									
								
								Xext/saver.c
								
								
								
								
							| 
						 | 
					@ -1241,21 +1241,26 @@ ProcScreenSaverSuspend(ClientPtr client)
 | 
				
			||||||
    return Success;
 | 
					    return Success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int (*NormalVector[]) (ClientPtr /* client */ ) = {
 | 
					 | 
				
			||||||
ProcScreenSaverQueryVersion,
 | 
					 | 
				
			||||||
        ProcScreenSaverQueryInfo,
 | 
					 | 
				
			||||||
        ProcScreenSaverSelectInput,
 | 
					 | 
				
			||||||
        ProcScreenSaverSetAttributes,
 | 
					 | 
				
			||||||
        ProcScreenSaverUnsetAttributes, ProcScreenSaverSuspend,};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
ProcScreenSaverDispatch(ClientPtr client)
 | 
					ProcScreenSaverDispatch(ClientPtr client)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    REQUEST(xReq);
 | 
					    REQUEST(xReq);
 | 
				
			||||||
 | 
					    switch (stuff->data) {
 | 
				
			||||||
    if (stuff->data < ARRAY_SIZE(NormalVector))
 | 
					        case X_ScreenSaverQueryVersion:
 | 
				
			||||||
        return (*NormalVector[stuff->data]) (client);
 | 
					            return ProcScreenSaverQueryVersion(client);
 | 
				
			||||||
    return BadRequest;
 | 
					        case X_ScreenSaverQueryInfo:
 | 
				
			||||||
 | 
					            return ProcScreenSaverQueryInfo(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverSelectInput:
 | 
				
			||||||
 | 
					            return ProcScreenSaverSelectInput(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverSetAttributes:
 | 
				
			||||||
 | 
					            return ProcScreenSaverSetAttributes(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverUnsetAttributes:
 | 
				
			||||||
 | 
					            return ProcScreenSaverUnsetAttributes(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverSuspend:
 | 
				
			||||||
 | 
					            return ProcScreenSaverSuspend(client);
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            return BadRequest;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int _X_COLD
 | 
					static int _X_COLD
 | 
				
			||||||
| 
						 | 
					@ -1312,21 +1317,26 @@ SProcScreenSaverSuspend(ClientPtr client)
 | 
				
			||||||
    return ProcScreenSaverSuspend(client);
 | 
					    return ProcScreenSaverSuspend(client);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int (*SwappedVector[]) (ClientPtr /* client */ ) = {
 | 
					 | 
				
			||||||
        ProcScreenSaverQueryVersion,
 | 
					 | 
				
			||||||
        SProcScreenSaverQueryInfo,
 | 
					 | 
				
			||||||
        SProcScreenSaverSelectInput,
 | 
					 | 
				
			||||||
        SProcScreenSaverSetAttributes,
 | 
					 | 
				
			||||||
        SProcScreenSaverUnsetAttributes, SProcScreenSaverSuspend,};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int _X_COLD
 | 
					static int _X_COLD
 | 
				
			||||||
SProcScreenSaverDispatch(ClientPtr client)
 | 
					SProcScreenSaverDispatch(ClientPtr client)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    REQUEST(xReq);
 | 
					    REQUEST(xReq);
 | 
				
			||||||
 | 
					    switch (stuff->data) {
 | 
				
			||||||
    if (stuff->data < ARRAY_SIZE(NormalVector))
 | 
					        case X_ScreenSaverQueryVersion:
 | 
				
			||||||
        return (*SwappedVector[stuff->data]) (client);
 | 
					            return ProcScreenSaverQueryVersion(client);
 | 
				
			||||||
    return BadRequest;
 | 
					        case X_ScreenSaverQueryInfo:
 | 
				
			||||||
 | 
					            return SProcScreenSaverQueryInfo(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverSelectInput:
 | 
				
			||||||
 | 
					            return SProcScreenSaverSelectInput(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverSetAttributes:
 | 
				
			||||||
 | 
					            return SProcScreenSaverSetAttributes(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverUnsetAttributes:
 | 
				
			||||||
 | 
					            return SProcScreenSaverUnsetAttributes(client);
 | 
				
			||||||
 | 
					        case X_ScreenSaverSuspend:
 | 
				
			||||||
 | 
					            return SProcScreenSaverSuspend(client);
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            return BadRequest;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue