| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | /* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.   This file is part of the GNU C Library.   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Library General Public License as   published by the Free Software Foundation; either version 2 of the   License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Library General Public License for more details.   You should have received a copy of the GNU Library General Public   License along with the GNU C Library; see the file COPYING.LIB.  If not,   see <http://www.gnu.org/licenses/>.  */#include <features.h>#include <stddef.h>#include <search.h>#ifdef L_insque/* Insert ELEM into a doubly-linked list, after PREV.  */voidinsque (void *elem, void *prev){  if (prev == NULL)    {      ((struct qelem *) elem)->q_forw = NULL;      ((struct qelem *) elem)->q_back = NULL;    }  else    {      struct qelem *next = ((struct qelem *) prev)->q_forw;      ((struct qelem *) prev)->q_forw = (struct qelem *) elem;      if (next != NULL)        next->q_back = (struct qelem *) elem;      ((struct qelem *) elem)->q_forw = next;      ((struct qelem *) elem)->q_back = (struct qelem *) prev;    }}#endif#ifdef L_remque/* Unlink ELEM from the doubly-linked list that it is in.  */voidremque (void *elem){  struct qelem *next = ((struct qelem *) elem)->q_forw;  struct qelem *prev = ((struct qelem *) elem)->q_back;  if (next != NULL)    next->q_back = prev;  if (prev != NULL)    prev->q_forw = (struct qelem *) next;}#endif
 |