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

📄 table.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
#ifndef lintstatic char *sccsid = "@(#)table.c	4.1	ULTRIX	7/2/90";#endif lint/**************************************************************** *								* *  Licensed to Digital Equipment Corporation, Maynard, MA	* *		Copyright 1985 Sun Microsystems, Inc.		* *			All rights reserved.			* *								* ****************************************************************/#include <ctype.h>#include "util.h"#include "table.h"/* * Hash table manager. Store/lookup strings, keyed by string *//* * Generate the key into the table using the first two letters * of "str".  The table is alphabetized, with no distinction between * upper and lower case.  Non-letters are given least significance. */inttablekey(str)	register char *str;{#	define TOLOWER(c) (islower(c) ? c : \							(isupper(c) ? tolower(c) : ('a'+NUMLETTERS-1)))	register int c1,c2;	c1 = *str++;	c2 = *str;	if (c1 == EOS) {		c2 = EOS;	/* just in case */	}	c1 = TOLOWER(c1) - 'a';	c2 = TOLOWER(c2) - 'a';	return (c1*NUMLETTERS + c2);}voidstore(table,key,datum)	stringtable table;	char *key;	char *datum;{	int index;	tablelist cur,new;	index = tablekey(key);	cur = table[index];		new = MALLOC(tablenode);	new->key = key;	new->datum = datum;	new->next = cur;	table[index] = new;}		char *lookup(table,key)	stringtable table;	char *key;{	tablelist cur;	cur = table[tablekey(key)];	while (cur && strcmp(cur->key,key)) {		cur = cur->next;	} 	if (cur) {		return(cur->datum);	} else {		return(NULL);	}}			

⌨️ 快捷键说明

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