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

📄 hash_enumnext.c

📁 一个用在mips体系结构中的操作系统
💻 C
字号:
/*  * Hash_EnumNext.c -- * *	Source code for the Hash_EnumNext 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/Hash_EnumNext.c,v 1.1 1996/04/04 06:52:10 herrod Exp $ SPRITE (Berkeley)";#endif not lint#include "hash.h"#include "list.h"/* *--------------------------------------------------------- * * Hash_EnumNext -- *    This procedure returns successive entries in the hash table. * * Results: *    The return value is a pointer to the next HashEntry *    in the table, or NULL when the end of the table is *    reached. * * Side Effects: *    The information in hashSearchPtr is modified to advance to the *    next entry. * *--------------------------------------------------------- */Hash_Entry *Hash_EnumNext(hashSearchPtr)    register Hash_Search *hashSearchPtr; /* Area used to keep state about 					    search. */{    register List_Links *hashList;    register Hash_Entry *hashEntryPtr;    hashEntryPtr = hashSearchPtr->hashEntryPtr;    while (hashEntryPtr == (Hash_Entry *) NULL ||	   List_IsAtEnd(hashSearchPtr->hashList,	   (List_Links *) hashEntryPtr)) {	if (hashSearchPtr->nextIndex >= hashSearchPtr->tablePtr->size) {	    return((Hash_Entry *) NULL);	}	hashList = &(hashSearchPtr->tablePtr->bucketPtr[		hashSearchPtr->nextIndex]);	hashSearchPtr->nextIndex++;	if (!List_IsEmpty(hashList)) {	    hashEntryPtr = (Hash_Entry *) List_First(hashList);	    hashSearchPtr->hashList = hashList;	    break;	}    }    hashSearchPtr->hashEntryPtr = 		(Hash_Entry *) List_Next((List_Links *) hashEntryPtr);    return(hashEntryPtr);}

⌨️ 快捷键说明

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