No extensions were defined, but the code was ready for them, just in
case someone came up with one.  If someone ever does, they can restore
from git history or an old tarball - until then, less code for us to
maintain & worry about checking for proper encoding/decoding of protocol.

Signed-off-by: Alan Coopersmith <[email protected]>
---
 difs/dispatch.c    |    2 +-
 difs/extensions.c  |  216 +++-------------------------------------------------
 difs/main.c        |    2 -
 include/extentst.h |   35 ---------
 4 files changed, 11 insertions(+), 244 deletions(-)

diff --git a/difs/dispatch.c b/difs/dispatch.c
index a85d306..36c82ef 100644
--- a/difs/dispatch.c
+++ b/difs/dispatch.c
@@ -398,7 +398,7 @@ DoSendErrToClient(
        .sequenceNumber = client->sequence,
        .timestamp = GetTimeInMillis(),
        .major_opcode = ((fsReq *) client->requestBuffer)->reqType,
-       .minor_opcode = MinorOpcodeOfRequest(client)
+       .minor_opcode = 0
     };
     int         extralen = 0;
 
diff --git a/difs/extensions.c b/difs/extensions.c
index 2bb2405..5a3d6d9 100644
--- a/difs/extensions.c
+++ b/difs/extensions.c
@@ -55,146 +55,12 @@ in this Software without prior written authorization from 
The Open Group.
 #include       "difs.h"
 #include       "dispatch.h"
 
-#define        EXTENSION_BASE  128
-#define        EXTENSION_EVENT_BASE    64
-#define        LAST_EVENT      128
-#define        LAST_ERROR      255
-
-static ExtensionEntry **extensions = (ExtensionEntry **) NULL;
-
-static int  lastEvent = EXTENSION_EVENT_BASE;
-static int  lastError = FirstExtensionError;
-static int  NumExtensions = 0;
-
-
-ExtensionEntry *
-AddExtension(
-    char       *name,
-    int         num_events,
-    int         num_errors,
-    int         (*main_proc) (ClientPtr),
-    int         (*smain_proc) (ClientPtr),
-    void        (*closedown_proc) (struct _ExtensionEntry *),
-    unsigned short (*minorop_proc) (ClientPtr))
-{
-    int         i;
-    ExtensionEntry *ext,
-              **newexts;
-
-    if (!main_proc || !smain_proc || !closedown_proc || !minorop_proc)
-       return ((ExtensionEntry *) 0);
-    if ((lastEvent + num_events > LAST_EVENT) ||
-           (unsigned) (lastError + num_errors > LAST_ERROR))
-       return ((ExtensionEntry *) 0);
-    ext = (ExtensionEntry *) fsalloc(sizeof(ExtensionEntry));
-    if (!ext)
-       return ((ExtensionEntry *) 0);
-    ext->num_aliases = 0;
-    ext->aliases = (char **) NULL;
-    ext->name = strdup(name);
-    if (!ext->name) {
-       fsfree(ext);
-       return ((ExtensionEntry *) 0);
-    }
-    i = NumExtensions;
-    newexts = (ExtensionEntry **) fsrealloc(extensions,
-                                        (i + 1) * sizeof(ExtensionEntry *));
-    if (!newexts) {
-       fsfree(ext->name);
-       fsfree(ext);
-       return ((ExtensionEntry *) 0);
-    }
-    NumExtensions++;
-    extensions = newexts;
-    extensions[i] = ext;
-    ext->index = i;
-    ext->base = i + EXTENSION_BASE;
-    ext->CloseDown = closedown_proc;
-    ext->MinorOpcode = minorop_proc;
-    ProcVector[i + EXTENSION_BASE] = main_proc;
-    SwappedProcVector[i + EXTENSION_BASE] = smain_proc;
-    if (num_events) {
-       ext->eventBase = lastEvent;
-       ext->eventLast = lastEvent + num_events;
-       lastEvent += num_events;
-    } else {
-       ext->eventBase = 0;
-       ext->eventLast = 0;
-    }
-    if (num_errors) {
-       ext->errorBase = lastError;
-       ext->errorLast = lastError + num_errors;
-       lastError += num_errors;
-    } else {
-       ext->errorBase = 0;
-       ext->errorLast = 0;
-    }
-    return ext;
-}
-
-Bool
-AddExtensionAlias(char *alias, ExtensionEntry *ext)
-{
-    char       *name;
-    char      **aliases;
-
-    aliases = (char **) fsrealloc(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;
-    return TRUE;
-}
-
-unsigned short
-StandardMinorOpcode(ClientPtr client)
-{
-    return ((fsReq *) client->requestBuffer)->data;
-}
-
-unsigned short
-MinorOpcodeOfRequest(ClientPtr client)
-{
-    unsigned char major;
-
-    major = ((fsReq *) client->requestBuffer)->reqType;
-    if (major < EXTENSION_BASE)
-       return 0;
-    major -= EXTENSION_BASE;
-    if (major >= NumExtensions)
-       return 0;
-    return (*extensions[major]->MinorOpcode) (client);
-}
-
-void
-CloseDownExtensions(void)
-{
-    int         i,
-                j;
-
-    for (i = NumExtensions - 1; i >= 0; i--) {
-       (*extensions[i]->CloseDown) (extensions[i]);
-       NumExtensions = i;
-       fsfree(extensions[i]->name);
-       for (j = extensions[i]->num_aliases; --j >= 0;)
-           fsfree(extensions[i]->aliases[j]);
-       fsfree(extensions[i]->aliases);
-       fsfree(extensions[i]);
-    }
-    fsfree(extensions);
-    extensions = (ExtensionEntry **) NULL;
-    lastEvent = EXTENSION_EVENT_BASE;
-    lastError = FirstExtensionError;
-}
-
-void
-InitExtensions(void)
-{
-}
+/*
+ * Provides the protocol handlers for the Query & List Extensions
+ * requests, which are effectively no-ops, as no extensions are
+ * implemented, and the extension framework has been removed.
+ * (See the git history in the unlikely event you need to create one.)
+ */
 
 int
 ProcQueryExtension(ClientPtr client)
@@ -203,42 +69,15 @@ ProcQueryExtension(ClientPtr client)
         .type = FS_Reply,
         .sequenceNumber = client->sequence,
         .length = SIZEOF(fsQueryExtensionReply) >> 2,
+        .present = fsFalse,
         .major_opcode = 0
     };
-    int         i,
-                j;
 
     REQUEST(fsQueryExtensionReq);
 
     REQUEST_AT_LEAST_SIZE(fsQueryExtensionReq);
 
-    if (!NumExtensions) {
-       reply.present = fsFalse;
-    } else {
-       for (i = 0; i < NumExtensions; i++) {
-           if ((strlen(extensions[i]->name) == stuff->nbytes) &&
-                   !strncmp((char *) &stuff[1], extensions[i]->name,
-                            (int) stuff->nbytes))
-               break;
-           for (j = extensions[i]->num_aliases; --j >= 0;) {
-               if ((strlen(extensions[i]->aliases[j]) == stuff->nbytes) &&
-                     !strncmp((char *) &stuff[1], extensions[i]->aliases[j],
-                              (int) stuff->nbytes))
-                   break;
-           }
-           if (j >= 0)
-               break;
-       }
-       if (i == NumExtensions) {
-           reply.present = fsFalse;
-       } else {
-           reply.present = fsTrue;
-           reply.major_opcode = extensions[i]->base;
-           reply.first_event = extensions[i]->eventBase;
-           reply.first_error = extensions[i]->errorBase;
-       }
-
-    }
+    /* No defined extensions to query for, so always just return False */
     WriteReplyToClient(client, SIZEOF(fsQueryExtensionReply), &reply);
     return client->noClientException;
 }
@@ -248,50 +87,15 @@ ProcListExtensions(ClientPtr client)
 {
     fsListExtensionsReply reply = {
         .type = FS_Reply,
-        .nExtensions = NumExtensions,
+        .nExtensions = 0,
         .sequenceNumber = client->sequence,
         .length = SIZEOF(fsListExtensionsReply) >> 2
     };
-    char       *bufptr,
-               *buffer = NULL;
-    int         total_length = 0;
 
     REQUEST(fsListExtensionsReq);
     REQUEST_SIZE_MATCH(fsListExtensionsReq);
 
-    if (NumExtensions) {
-       int         i,
-                   j;
-
-       for (i = 0; i < NumExtensions; i++) {
-           total_length += strlen(extensions[i]->name) + 1;
-           reply.nExtensions += extensions[i]->num_aliases;
-           for (j = extensions[i]->num_aliases; --j >= 0;)
-               total_length += strlen(extensions[i]->aliases[j]) + 1;
-       }
-       reply.length += (total_length + 3) >> 2;
-       buffer = bufptr = (char *) ALLOCATE_LOCAL(total_length);
-       if (!buffer) {
-           SendErrToClient(client, FSBadAlloc, NULL);
-           return FSBadAlloc;
-       }
-       for (i = 0; i < NumExtensions; i++) {
-           int         len;
-
-           *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;
-           }
-       }
-    }
+    /* No defined extensions, so always just return empty list */
     WriteReplyToClient(client, SIZEOF(fsListExtensionsReply), &reply);
-    if (total_length) {
-       WriteToClient(client, total_length, buffer);
-       DEALLOCATE_LOCAL(buffer);
-    }
     return client->noClientException;
 }
diff --git a/difs/main.c b/difs/main.c
index a202a53..4177fcb 100644
--- a/difs/main.c
+++ b/difs/main.c
@@ -128,7 +128,6 @@ main(int argc, char *argv[])
        if (!InitClientResources(serverClient))
            FatalError("couldn't init server resources\n");
 
-       InitExtensions();
        InitAtoms();
        InitFonts();
        SetConfigValues();
@@ -146,7 +145,6 @@ main(int argc, char *argv[])
 #endif
 
        /* clean up per-cycle stuff */
-       CloseDownExtensions();
        if ((dispatchException & DE_TERMINATE) || drone_server)
            break;
        fsfree(ConnectionInfo);
diff --git a/include/extentst.h b/include/extentst.h
index 9010d87..e21f8cb 100644
--- a/include/extentst.h
+++ b/include/extentst.h
@@ -48,44 +48,9 @@ in this Software without prior written authorization from 
The Open Group.
 #ifndef _EXTENTST_H_
 #define _EXTENTST_H_
 
-typedef struct _ExtensionEntry {
-    int         index;
-    void        (*CloseDown) (struct _ExtensionEntry*);
-    char       *name;
-    int         base;
-    int         eventBase;
-    int         eventLast;
-    int         errorBase;
-    int         errorLast;
-    int         num_aliases;
-    char      **aliases;
-    pointer     extPrivate;
-    unsigned short (*MinorOpcode) (ClientPtr);
-}           ExtensionEntry;
-
 extern void (*EventSwapVector[]) (fsError *, fsError *);
 
-#if 0
-typedef void (*ExtensionLookupProc) (char *name, GCPtr pGC);
-
-typedef struct _ProcEntry {
-    char       *name;
-    ExtensionLookupProc proc;
-}           ProcEntryRec, *ProcEntryPtr;
-
-extern ExtensionEntry *AddExtension();
-extern ExtensionLookupProc LookupProc(char *name, GCPtr pGC);
-extern Bool RegisterProc();
-#endif
-
-extern ExtensionEntry * AddExtension ( char *name, int num_events, int 
num_errors, int (*main_proc) (ClientPtr), int (*smain_proc) (ClientPtr), void 
(*closedown_proc) (struct _ExtensionEntry *), unsigned short (*minorop_proc) 
(ClientPtr) );
-
-extern Bool AddExtensionAlias(char *alias, ExtensionEntry *ext);
 extern int  ProcListExtensions(ClientPtr client);
 extern int  ProcQueryExtension(ClientPtr client);
-extern unsigned short MinorOpcodeOfRequest(ClientPtr client);
-extern unsigned short StandardMinorOpcode(ClientPtr client);
-extern void CloseDownExtensions(void);
-extern void InitExtensions(void);
 
 #endif                         /* _EXTENTST_H_ */
-- 
1.7.9.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to