All pastes #445464 Raw Edit

Someone

public c v1 · immutable
·published 2007-04-17 21:43 UTC
rendered paste body
htable_listitem *htable_lookup(htable_t *table, const char *key){	unsigned int hash_pos = 0;	htable_listitem *item, *latest, *new_item;	// ochrana pred spatnym vstupem	if(table == NULL || key == NULL)		return NULL;	// spocitani mista pro ulozeni	hash_pos = hash_function(key,table->htable_size);	// nacteni prvniho ukazatele z daneho mista	latest = item = table->vector[hash_pos];	while(item != NULL)	{		// pokud se rovnaji oba klice, vrati se dany prvek		if(!strcmp(item->key,key))			return item;		latest = item;		item = item->next;	}	// alokovani noveho prvku	new_item = malloc(sizeof(htable_listitem));	if(new_item == NULL)		return NULL;	new_item->data = 0;	// kopirovani klice do promenne	new_item->key = malloc(strlen(key)+1);	if(new_item->key== NULL)	{		free(item);				return NULL;	}	strcpy(new_item->key, key);	new_item->next = NULL;		// pokud je prvni ukazatel hash_table NULLovy	// priradi se prvek do nej, jinak se priradi do 'next' posledniho prvku	if(item == latest)		table->vector[hash_pos] = new_item;			else		latest->next = new_item;	return new_item;}