⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hash_deletetable.c

📁 一个用在mips体系结构中的操作系统
💻 C
字号:
/*  * Hash_DeleteTable.c -- * *	Source code for the Hash_DeleteTable 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/common/Hash_DeleteTable.c,v 1.1 1996/08/27 18:49:26 verghese Exp $ SPRITE (Berkeley)";#endif not lint#include <hash.h>#include <list.h>#include <stdlib.h>/* *--------------------------------------------------------- * * Hash_DeleteTable -- * *	This routine removes everything from a hash table *	and frees up the memory space it occupied (except for *	the space in the Hash_Table structure). * * Results:	 *	None. * * Side Effects: *	Lots of memory is freed up. * *--------------------------------------------------------- */voidHash_DeleteTable(    Hash_Table *tablePtr		/* Hash table whose entries are all to					 * be freed.  */){    register List_Links *hashTableEnd;    register Hash_Entry *hashEntryPtr;    register List_Links *bucketPtr;    bucketPtr = tablePtr->bucketPtr;    hashTableEnd = &(bucketPtr[tablePtr->size]);    for (; bucketPtr < hashTableEnd; bucketPtr++) {	while (!List_IsEmpty(bucketPtr)) {	    hashEntryPtr = (Hash_Entry *) List_First(bucketPtr);	    List_Remove((List_Links *) hashEntryPtr);	    free((Address) hashEntryPtr);	}    }    free((Address) tablePtr->bucketPtr);    /*     * Set up the hash table to cause memory faults on any future     * access attempts until re-initialization.     */    tablePtr->bucketPtr = (List_Links *) NIL;}

⌨️ 快捷键说明

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