#include "List.h"

void reverseSE(/*var*/ List *L)
/* NB. L must be passed by reference  -- L.Allison */
 { List next, beyond;
   if( *L != NULL )
    { next = *L; *L = NULL;

      while(1) /* loop */
       { beyond = next->tl;
         next->tl = *L;
         *L = next;
         next = beyond;
         /* until */ if( next == NULL ) break;
 }  }  }

/* Reverse a List L as a side-effect */
