dix: Remove extension aliases
This appears to be essentially unused. The only known client-side library for the SELinux extension is xcb, which does not look for the name "Flask". The "SGI-GLX" alias for GLX appears to be a bit of superstition at this point, NVIDIA's driver does not expose it and Mesa does not check for it. Signed-off-by: Adam Jackson <ajax@redhat.com> Acked-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
88e807d4fa
commit
f44e0af4da
|
@ -714,6 +714,4 @@ SELinuxExtensionInit(void)
|
|||
SELinuxNumberEvents, SELinuxNumberErrors,
|
||||
ProcSELinuxDispatch, SProcSELinuxDispatch,
|
||||
SELinuxResetProc, StandardMinorOpcode);
|
||||
|
||||
AddExtensionAlias("Flask", extEntry);
|
||||
}
|
||||
|
|
|
@ -95,8 +95,6 @@ AddExtension(const char *name, int NumEvents, int NumErrors,
|
|||
return NULL;
|
||||
}
|
||||
ext->name = strdup(name);
|
||||
ext->num_aliases = 0;
|
||||
ext->aliases = (const char **) NULL;
|
||||
if (!ext->name) {
|
||||
dixFreePrivates(ext->devPrivates, PRIVATE_EXTENSION);
|
||||
free(ext);
|
||||
|
@ -144,42 +142,15 @@ AddExtension(const char *name, int NumEvents, int NumErrors,
|
|||
return ext;
|
||||
}
|
||||
|
||||
Bool
|
||||
AddExtensionAlias(const char *alias, ExtensionEntry * ext)
|
||||
{
|
||||
char *name;
|
||||
const char **aliases;
|
||||
|
||||
if (!ext)
|
||||
return FALSE;
|
||||
aliases = reallocarray(ext->aliases, ext->num_aliases + 1, sizeof(char *));
|
||||
if (!aliases)
|
||||
return FALSE;
|
||||
ext->aliases = aliases;
|
||||
name = strdup(alias);
|
||||
if (!name)
|
||||
return FALSE;
|
||||
ext->aliases[ext->num_aliases] = name;
|
||||
ext->num_aliases++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int
|
||||
FindExtension(const char *extname, int len)
|
||||
{
|
||||
int i, j;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < NumExtensions; i++) {
|
||||
if ((strlen(extensions[i]->name) == len) &&
|
||||
!strncmp(extname, extensions[i]->name, len))
|
||||
break;
|
||||
for (j = extensions[i]->num_aliases; --j >= 0;) {
|
||||
if ((strlen(extensions[i]->aliases[j]) == len) &&
|
||||
!strncmp(extname, extensions[i]->aliases[j], len))
|
||||
break;
|
||||
}
|
||||
if (j >= 0)
|
||||
break;
|
||||
}
|
||||
return ((i == NumExtensions) ? -1 : i);
|
||||
}
|
||||
|
@ -223,16 +194,13 @@ StandardMinorOpcode(ClientPtr client)
|
|||
void
|
||||
CloseDownExtensions(void)
|
||||
{
|
||||
int i, j;
|
||||
int i;
|
||||
|
||||
for (i = NumExtensions - 1; i >= 0; i--) {
|
||||
if (extensions[i]->CloseDown)
|
||||
extensions[i]->CloseDown(extensions[i]);
|
||||
NumExtensions = i;
|
||||
free((void *) extensions[i]->name);
|
||||
for (j = extensions[i]->num_aliases; --j >= 0;)
|
||||
free((void *) extensions[i]->aliases[j]);
|
||||
free(extensions[i]->aliases);
|
||||
dixFreePrivates(extensions[i]->devPrivates, PRIVATE_EXTENSION);
|
||||
free(extensions[i]);
|
||||
}
|
||||
|
@ -294,7 +262,7 @@ ProcListExtensions(ClientPtr client)
|
|||
buffer = NULL;
|
||||
|
||||
if (NumExtensions) {
|
||||
int i, j;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < NumExtensions; i++) {
|
||||
/* call callbacks to find out whether to show extension */
|
||||
|
@ -302,9 +270,7 @@ ProcListExtensions(ClientPtr client)
|
|||
continue;
|
||||
|
||||
total_length += strlen(extensions[i]->name) + 1;
|
||||
reply.nExtensions += 1 + extensions[i]->num_aliases;
|
||||
for (j = extensions[i]->num_aliases; --j >= 0;)
|
||||
total_length += strlen(extensions[i]->aliases[j]) + 1;
|
||||
reply.nExtensions += 1;
|
||||
}
|
||||
reply.length = bytes_to_int32(total_length);
|
||||
buffer = bufptr = malloc(total_length);
|
||||
|
@ -319,11 +285,6 @@ ProcListExtensions(ClientPtr client)
|
|||
*bufptr++ = len = strlen(extensions[i]->name);
|
||||
memmove(bufptr, extensions[i]->name, len);
|
||||
bufptr += len;
|
||||
for (j = extensions[i]->num_aliases; --j >= 0;) {
|
||||
*bufptr++ = len = strlen(extensions[i]->aliases[j]);
|
||||
memmove(bufptr, extensions[i]->aliases[j], len);
|
||||
bufptr += len;
|
||||
}
|
||||
}
|
||||
}
|
||||
WriteReplyToClient(client, sizeof(xListExtensionsReply), &reply);
|
||||
|
|
|
@ -424,10 +424,6 @@ GlxExtensionInit(void)
|
|||
FatalError("__glXExtensionInit: AddExtensions failed\n");
|
||||
return;
|
||||
}
|
||||
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {
|
||||
ErrorF("__glXExtensionInit: AddExtensionAlias failed\n");
|
||||
return;
|
||||
}
|
||||
|
||||
__glXErrorBase = extEntry->errorBase;
|
||||
__glXEventBase = extEntry->eventBase;
|
||||
|
|
|
@ -323,12 +323,6 @@ GlxExtensionInit(void)
|
|||
FatalError("__glXExtensionInit: AddExtensions failed\n");
|
||||
return;
|
||||
}
|
||||
/*
|
||||
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {
|
||||
ErrorF("__glXExtensionInit: AddExtensionAlias failed\n");
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
__glXerrorBase = extEntry->errorBase;
|
||||
__glXBadContext = extEntry->errorBase + GLXBadContext;
|
||||
|
|
|
@ -64,8 +64,6 @@ typedef struct _ExtensionEntry {
|
|||
int eventLast;
|
||||
int errorBase;
|
||||
int errorLast;
|
||||
int num_aliases;
|
||||
const char **aliases;
|
||||
void *extPrivate;
|
||||
unsigned short (*MinorOpcode) ( /* called for errors */
|
||||
ClientPtr /* client */ );
|
||||
|
@ -95,10 +93,6 @@ AddExtension(const char * /*name */ ,
|
|||
unsigned short (* /*MinorOpcodeProc */ )(ClientPtr /*client */ )
|
||||
);
|
||||
|
||||
extern _X_EXPORT Bool
|
||||
AddExtensionAlias(const char * /*alias */ ,
|
||||
ExtensionEntry * /*extension */ );
|
||||
|
||||
extern _X_EXPORT ExtensionEntry *
|
||||
CheckExtension(const char *extname);
|
||||
extern _X_EXPORT ExtensionEntry *
|
||||
|
|
Loading…
Reference in New Issue