]> gitweb @ CieloNegro.org - pkgsrc-xorg-server.git/blobdiff - patches/patch-aa
At least it compiles now. Hope it works too...
[pkgsrc-xorg-server.git] / patches / patch-aa
diff --git a/patches/patch-aa b/patches/patch-aa
new file mode 100644 (file)
index 0000000..cad0f8a
--- /dev/null
@@ -0,0 +1,103 @@
+$NetBSD$
+
+--- dix/atom.c.orig    2009-03-06 19:05:09.000000000 +0900
++++ dix/atom.c
+@@ -74,98 +74,6 @@ static NodePtr *nodeTable;
+ void FreeAtom(NodePtr patom);
+-_X_EXPORT Atom 
+-MakeAtom(char *string, unsigned len, Bool makeit)
+-{
+-    NodePtr * np;
+-    unsigned i;
+-    int comp;
+-    unsigned int fp = 0;
+-
+-    np = &atomRoot;
+-    for (i = 0; i < (len+1)/2; i++)
+-    {
+-      fp = fp * 27 + string[i];
+-      fp = fp * 27 + string[len - 1 - i];
+-    }
+-    while (*np != (NodePtr) NULL)
+-    {
+-      if (fp < (*np)->fingerPrint)
+-          np = &((*np)->left);
+-      else if (fp > (*np)->fingerPrint)
+-          np = &((*np)->right);
+-      else
+-      {                              /* now start testing the strings */
+-          comp = strncmp(string, (*np)->string, (int)len);
+-          if ((comp < 0) || ((comp == 0) && (len < strlen((*np)->string))))
+-              np = &((*np)->left);
+-          else if (comp > 0)
+-              np = &((*np)->right);
+-          else
+-              return(*np)->a;
+-          }
+-    }
+-    if (makeit)
+-    {
+-      NodePtr nd;
+-
+-      nd = (NodePtr) xalloc(sizeof(NodeRec));
+-      if (!nd)
+-          return BAD_RESOURCE;
+-      if (lastAtom < XA_LAST_PREDEFINED)
+-      {
+-          nd->string = string;
+-      }
+-      else
+-      {
+-          nd->string = (char *) xalloc(len + 1);
+-          if (!nd->string) {
+-              xfree(nd);
+-              return BAD_RESOURCE;
+-          }
+-          strncpy(nd->string, string, (int)len);
+-          nd->string[len] = 0;
+-      }
+-      if ((lastAtom + 1) >= tableLength) {
+-          NodePtr *table;
+-
+-          table = (NodePtr *) xrealloc(nodeTable,
+-                                       tableLength * (2 * sizeof(NodePtr)));
+-          if (!table) {
+-              if (nd->string != string)
+-                  xfree(nd->string);
+-              xfree(nd);
+-              return BAD_RESOURCE;
+-          }
+-          tableLength <<= 1;
+-          nodeTable = table;
+-      }
+-      *np = nd;
+-      nd->left = nd->right = (NodePtr) NULL;
+-      nd->fingerPrint = fp;
+-      nd->a = (++lastAtom);
+-      *(nodeTable+lastAtom) = nd;
+-      return nd->a;
+-    }
+-    else
+-      return None;
+-}
+-
+-_X_EXPORT Bool
+-ValidAtom(Atom atom)
+-{
+-    return (atom != None) && (atom <= lastAtom);
+-}
+-
+-_X_EXPORT char *
+-NameForAtom(Atom atom)
+-{
+-    NodePtr node;
+-    if (atom > lastAtom) return 0;
+-    if ((node = nodeTable[atom]) == (NodePtr)NULL) return 0;
+-    return node->string;
+-}
+-
+ void
+ AtomError(void)
+ {