2 Copyright (C) 1993-1998, 2001-2018 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or (at
7 your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 /* This file implements the emacs_insque and emacs_remque functions,
18 clones of the insque and remque functions of BSD. They and all
19 their callers have been renamed to emacs_mumble to allow us to
20 include this file in the menu library on all systems. */
30 /* Insert ELEM into a doubly-linked list, after PREV. */
33 emacs_insque (void *velem
, void *vprev
)
35 struct qelem
*elem
= velem
;
36 struct qelem
*prev
= vprev
;
37 struct qelem
*next
= prev
->q_forw
;
45 /* Unlink ELEM from the doubly-linked list that it is in. */
48 emacs_remque (void *velem
)
50 struct qelem
*elem
= velem
;
51 struct qelem
*next
= elem
->q_forw
;
52 struct qelem
*prev
= elem
->q_back
;