diff --git a/src/memory.c b/src/memory.c
index 512eeb0f7ae27ae0d7cca7194e73c072063f5bf6..de776776016450b9450ddde8736508b5c8b022ab 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -20,251 +20,7 @@ char *xalloc(SIZE_T size)
   return 0;
 }
 
-#if 0
-/*
- * This function may NOT change 'order'
- * This function is probably too slow, but it does not use
- * any extra space, so it could still be used if no extra space
- * could be allocated.
- */
-void reorder(char *memory,INT32 nitems,INT32 size,INT32 *order)
-{
-  INT32 e, w;
-
-  switch(size)
-  {
-  case 4:
-    for(e=0; e<nitems-1; e++)
-    {
-      INT32 tmp;
-      for(w = order[e]; w < e; w = order[w]);
-      if(w == e) continue;
-      tmp=((INT32 *)memory)[e];
-      ((INT32 *)memory)[e]=((INT32 *)memory)[w];
-      ((INT32 *)memory)[w]=tmp;
-    }
-    break;
-
-  case 8:
-    for(e=0; e<nitems-1; e++)
-    {
-      typedef struct eight_bytes { char t[8]; } eight_bytes;
-      eight_bytes tmp;
-      for(w = order[e]; w < e; w = order[w]);
-      if(w == e) continue;
-      tmp=((eight_bytes *)memory)[e];
-      ((eight_bytes *)memory)[e]=((eight_bytes *)memory)[w];
-      ((eight_bytes *)memory)[w]=tmp;
-    }
-    break;
-
-  default:
-    for(e=0; e<nitems-1; e++)
-    {
-      INT32 z;
-      for(w = order[e]; w < e; w = order[w]);
-      if(w == e) continue;
-      
-      for(z=0; z<size; z++)
-      {
-	char tmp;
-	tmp=memory[e*size+z];
-	memory[e*size+z]=memory[w*size+z];
-	memory[e*size+z]=tmp;
-      }
-    }
-  }
-}
-
-#endif
-
-#if 0
-/*
- * This function may NOT change 'order'
- * This function is probably too slow, but it does not use
- * any extra space, so it could still be used if no extra space
- * could be allocated.
- * (actually, it _does_ change 'order' but restores it afterwards)
- */
-void reorder(char *memory, INT32 nitems, INT32 size,INT32 *order)
-{
-  INT32 e,d,c;
-
-#ifdef DEBUG
-  for(e=0;e<nitems;e++)
-  {
-    for(d=0;d<nitems;d++) if(order[d]==e) break;
-    if(d==nitems)
-      fatal("Missing number %ld in reorder() (nitems = %ld)\n",
-	    (long)e,
-	    (long)nitems);
-  }
-#endif
-
-
-  switch(size)
-  {
-#ifdef DEBUG
-    case 0:
-      fatal("FEL FEL FEL\n");
-      break;
-#endif
-
-    case 1:
-    {
-      char a,*m;
-      m=memory;
-
-      for(e=0;e<nitems;e++)
-      {
-        if(order[e]==e) continue;
-        if(order[e]>=0)
-        {
-          a=memory[c=e];
-          do
-	  {
-	    c=order[d=c];
-	    m[d]=m[c];
-	    order[d]=~c;
-	  } while(c!=e);
-          memory[d]=a;
-        }
-        order[e] =~ order[e];
-      }
-      break;
-    }
-
-    case 2:
-    {
-      typedef struct TMP2 { char t[2]; } tmp2;
-      tmp2 a,*m;
-      m=(tmp2 *)memory;
-      
-      for(e=0;e<nitems;e++)
-      {
-        if(order[e]==e) continue;
-        if(order[e]>=0)
-        {
-          a=m[c=e];
-          do
-	  {
-	    c=order[d=c];
-	    m[d]=m[c];
-	    order[d]=~c;
-	  }
-	  while(c!=e);
-          m[d]=a;
-        }
-        order[e] =~ order[e];
-      }
-      break;
-    }
-
-    case 4:
-    {
-      typedef struct TMP4 { char t[4]; } tmp4;
-      tmp4 a,*m;
-      m=(tmp4 *)memory;
-      
-      for(e=0;e<nitems;e++)
-      {
-        if(order[e]==e) continue;
-        if(order[e]>=0)
-        {
-          a=m[c=e];
-          do
-	  {
-	    c=order[d=c];
-	    m[d]=m[c];
-	    order[d]=~c;
-	  } while(c!=e);
-          m[d]=a;
-        }
-        order[e] =~ order[e];
-      }
-      break;
-    }
-
-    case 8:
-    {
-      typedef struct TMP8 { char t[8]; } tmp8;
-      tmp8 a,*m;
-      m=(tmp8 *)memory;
-      
-      for(e=0;e<nitems;e++)
-      {
-        if(order[e]==e) continue;
-        if(order[e]>=0)
-        {
-          a=m[c=e];
-          do {
-            c=order[d=c];
-            m[d]=m[c];
-            order[d]= ~c;
-          }while(c!=e);
-    
-          m[d]=a;
-        }
-        order[e] =~ order[e];
-      }
-      break;
-    }
 
-    case 16:
-    {
-      typedef struct TMP16 { char t[16]; } tmp16;
-      tmp16 a,*m;
-      m=(tmp16 *)memory;
-      
-      for(e=0;e<nitems;e++)
-      {
-        if(order[e]==e) continue;
-        if(order[e]>=0)
-        {
-          a=m[c=e];
-          do {
-            c=order[d=c];
-            m[d]=m[c];
-            order[d]= ~c;
-          }while(c!=e);
-    
-          m[d]=a;
-        }
-        order[e] =~ order[e];
-      }
-      break;
-    }
-
-    default:
-    {
-      char *a;
-    
-      a=(char *)alloca(size);
-    
-      for(e=0;e<nitems;e++)
-      {
-        if(order[e]==e) continue;
-        if(order[e]>=0)
-        {
-          MEMCPY(a, memory+e*size, size);
-    
-          c=e;
-          do {
-            c=order[d=c];
-             MEMCPY(memory+d*size, memory+c*size, size);
-            order[d]= ~c;
-          }while(d!=e);
-    
-          MEMCPY(memory+d*size, a, size);
-        }
-        order[e] =~ order[e];
-      }
-    }
-  }
-}
-#endif
-
-#if 1
 /*
  * This function may NOT change 'order'
  * This function is hopefully fast enough...
@@ -301,7 +57,6 @@ void reorder(char *memory, INT32 nitems, INT32 size,INT32 *order)
   MEMCPY(memory, tmp, size * nitems);
   free(tmp);
 }
-#endif
 
 unsigned INT32 hashmem(const unsigned char *a,INT32 len,INT32 mlen)
 {