dix: Factor out extension availability check
Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
9d5af632fd
commit
73a1cb9c92
|
@ -210,6 +210,14 @@ CloseDownExtensions(void)
|
|||
lastError = FirstExtensionError;
|
||||
}
|
||||
|
||||
static Bool
|
||||
ExtensionAvailable(ClientPtr client, ExtensionEntry *ext)
|
||||
{
|
||||
if (XaceHook(XACE_EXT_ACCESS, client, ext) != Success)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int
|
||||
ProcQueryExtension(ClientPtr client)
|
||||
{
|
||||
|
@ -231,7 +239,7 @@ ProcQueryExtension(ClientPtr client)
|
|||
reply.present = xFalse;
|
||||
else {
|
||||
i = FindExtension((char *) &stuff[1], stuff->nbytes);
|
||||
if (i < 0 || XaceHook(XACE_EXT_ACCESS, client, extensions[i]))
|
||||
if (i < 0 || !ExtensionAvailable(client, extensions[i]))
|
||||
reply.present = xFalse;
|
||||
else {
|
||||
reply.present = xTrue;
|
||||
|
@ -266,7 +274,7 @@ ProcListExtensions(ClientPtr client)
|
|||
|
||||
for (i = 0; i < NumExtensions; i++) {
|
||||
/* call callbacks to find out whether to show extension */
|
||||
if (XaceHook(XACE_EXT_ACCESS, client, extensions[i]) != Success)
|
||||
if (!ExtensionAvailable(client, extensions[i]))
|
||||
continue;
|
||||
|
||||
total_length += strlen(extensions[i]->name) + 1;
|
||||
|
@ -279,7 +287,7 @@ ProcListExtensions(ClientPtr client)
|
|||
for (i = 0; i < NumExtensions; i++) {
|
||||
int len;
|
||||
|
||||
if (XaceHook(XACE_EXT_ACCESS, client, extensions[i]) != Success)
|
||||
if (!ExtensionAvailable(client, extensions[i]))
|
||||
continue;
|
||||
|
||||
*bufptr++ = len = strlen(extensions[i]->name);
|
||||
|
|
Loading…
Reference in New Issue