list_remove.c

来自「一个用在mips体系结构中的操作系统」· C语言 代码 · 共 55 行

C
55
字号
/*  * List_Remove.c -- * *	Source code for the List_Remove library procedure. * * Copyright 1988 Regents of the University of California * Permission to use, copy, modify, and distribute this * software and its documentation for any purpose and without * fee is hereby granted, provided that the above copyright * notice appear in all copies.  The University of California * makes no representations about the suitability of this * software for any purpose.  It is provided "as is" without * express or implied warranty. */#ifndef lintstatic char rcsid[] = "$Header: /hive/cvsroot/simulation/apps/unix/ethersim/sun/List_Remove.c,v 1.1 1996/04/04 06:52:23 herrod Exp $ SPRITE (Berkeley)";#endif not lint#include <stdio.h>#include "list.h"extern void panic();/* * ---------------------------------------------------------------------------- * * List_Remove -- * *	Remove a list element from the list in which it is contained. * * Results: *	None. * * Side effects: *	The given structure is removed from its containing list. * * ---------------------------------------------------------------------------- */voidList_Remove(itemPtr)    register	List_Links *itemPtr;	/* list element to remove */{    if (itemPtr == (List_Links *) NIL || !itemPtr ||	itemPtr == itemPtr->nextPtr) {	panic("List_Remove: invalid item to remove.\n");    }    if (itemPtr->prevPtr->nextPtr != itemPtr ||	itemPtr->nextPtr->prevPtr != itemPtr) {	panic("List_Remove: item's pointers are invalid.\n");    }    itemPtr->prevPtr->nextPtr = itemPtr->nextPtr;    itemPtr->nextPtr->prevPtr = itemPtr->prevPtr;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?