diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2010-10-25 12:17:19 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2010-10-26 06:32:35 +1000 |
commit | 91b6e47fa27a9fc467b1e02cd5aad94382ebda72 (patch) | |
tree | 1459933883df64f73d974e987ac1b23df2589b41 | |
parent | a1eb66c75a180e87424be2b7af92db2fd493d19b (diff) |
Use single exit path for PreInit.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/mouse.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mouse.c b/src/mouse.c index d098f9d..2276b82 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -856,7 +856,7 @@ MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) /* Allocate the MouseDevRec and initialise it. */ if (!(pMse = calloc(sizeof(MouseDevRec), 1))) - return pInfo; + goto out; pInfo->private = pMse; pMse->Ctrl = MouseCtrl; pMse->PostEvent = MousePostEvent; @@ -872,7 +872,7 @@ MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) } if (!protocol) { xf86Msg(X_ERROR, "%s: No Protocol specified\n", pInfo->name); - return pInfo; + goto out; } device = xf86SetStrOption(dev->commonOptions, "Device", NULL); @@ -907,17 +907,17 @@ MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) if (osInfo->PreInit) { osInfo->PreInit(pInfo, protocol, 0); } - return pInfo; + goto out; } xf86Msg(X_ERROR, "%s: Unknown protocol \"%s\"\n", pInfo->name, protocol); - return pInfo; + goto out; break; case PROT_UNSUP: xf86Msg(X_ERROR, "%s: Protocol \"%s\" is not supported on this " "platform\n", pInfo->name, protocol); - return pInfo; + goto out; break; default: break; @@ -930,7 +930,7 @@ MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) xf86Msg(protocolFrom, "%s: Protocol: \"%s\"\n", pInfo->name, protocol); if (!(pProto = GetProtocol(protocolID))) - return pInfo; + goto out; pMse->protocolID = protocolID; pMse->oldProtocolID = protocolID; /* hack */ @@ -951,14 +951,14 @@ MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) free(pMse->mousePriv); free(pMse); pInfo->private = NULL; - return pInfo; + goto out; } } xf86CloseSerial(pInfo->fd); pInfo->fd = -1; if (!(mPriv = (pointer) calloc(sizeof(mousePrivRec), 1))) - return pInfo; + goto out; pMse->mousePriv = mPriv; pMse->CommonOptions(pInfo); pMse->checkMovements = checkForErraticMovements; @@ -970,6 +970,8 @@ MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags) MouseSerialOptions(pInfo); pInfo->flags |= XI86_CONFIGURED; + +out: return pInfo; } |