/*
 * Yes, we can all get a headache from the next bunch
 * of pointer swapping...
 */
next           = current->next;
current->next  = next->next;
next->next     = current;
prev           = next;