list_insert.c

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

C
55
字号
/*  * List_Insert.c -- * *	Source code for the List_Insert 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. */#include <stdio.h>#include "list.h"/* * ---------------------------------------------------------------------------- * * List_Insert -- * *	Insert the list element pointed to by itemPtr into a List after  *	destPtr.  Perform a primitive test for self-looping by returning *	failure if the list element is being inserted next to itself. * * Results: *	None. * * Side effects: *	The list containing destPtr is modified to contain itemPtr. * * ---------------------------------------------------------------------------- */voidList_Insert(register List_Links* itemPtr, /* structure to insert */			register List_Links* destPtr/* structure after which to insert it */){    if (itemPtr == (List_Links *) NIL || destPtr == (List_Links *) NIL	    || !itemPtr || !destPtr) {	List_Error("List_Insert: itemPtr (%llx) or destPtr (%llx) is NIL.\n",		  itemPtr, destPtr);	return;    }    if (itemPtr == destPtr) {	  List_Error("List_Insert: trying to insert something after itself.\n");	return;    }    itemPtr->nextPtr = destPtr->nextPtr;    itemPtr->prevPtr = destPtr;    destPtr->nextPtr->prevPtr = itemPtr;    destPtr->nextPtr = itemPtr;}

⌨️ 快捷键说明

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