symtab.c

来自「ftam等标准协议服务器和客户端的源代码。」· C语言 代码 · 共 78 行

C
78
字号
#ifndef lintstatic char *rcsid = "$Header: /xtel/isode/isode/others/quipu/uips/sd/RCS/symtab.c,v 9.0 1992/06/16 12:45:08 isode Rel $";#endif/* * $Header: /xtel/isode/isode/others/quipu/uips/sd/RCS/symtab.c,v 9.0 1992/06/16 12:45:08 isode Rel $ * * $Log: symtab.c,v $ * Revision 9.0  1992/06/16  12:45:08  isode * Release 8.0 * */#include "general.h"#include "symtab.h"put_symbol_value(table, name, val)table_entry table;char *name;char *val;{	if (!name) return;  	while(table && strcmp(name, table->name)) {		table = table->next;	}	if (table) {		free(table->val);		if (val) {		  	table->val = 			  (char *) malloc((unsigned) strlen(val) + 1);			(void) strcpy(table->val, val);		} else		  	table->val = (char *) 0;	} else {		table = (table_entry) malloc(sizeof(table_entry));		table->next = NULLSYM;		table->name = (char *) malloc((unsigned) strlen(name) + 1);		(void) strcpy(table->name, name);                if (val) {                        table->val = 			  (char *) malloc((unsigned) strlen(val) + 1);                        (void) strcpy(table->val, val);	        } else                        table->val = 0;	}}		char *get_symbol_value(table, name)table_entry table;char *name;{  	while(table && strcmp(name, table->name)) table = table->next;  	if (table)	  	return table->val;	return (char *) 0;}	  	free_table(table)table_entry table;{  	table_entry  entry;  	while(table) {	  	if (table->val)		  	free(table->val);		free(table->name);		entry = table;		table = table->next;		free((char *) entry);	}}

⌨️ 快捷键说明

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