python/hash.c File Reference

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include "hash.h"

Go to the source code of this file.

Data Structures

struct  filePath
struct  bucket
struct  hash_table

Defines

#define CHUNK   1

Functions

hash_tablehtNewTable (int size)
void htFreeHashTable (struct hash_table *ht)
void htHashStats (const struct hash_table *t)
static unsigned int htHashStrings (const char *s, const char *t)
static int in_table_aux (struct hash_table *t, int hash, const char *dir, const char *base)
int htInTable (struct hash_table *t, const char *dir, const char *base)
void htAddToTable (struct hash_table *t, const char *dir, const char *base)
void htRemoveFromTable (struct hash_table *t, const char *dir, const char *base)
int htNumEntries (struct hash_table *t)
void htIterStart (htIterator *iter)
int htIterGetNext (struct hash_table *t, htIterator *iter, const char **dir, const char **base)


Detailed Description

Definition in file hash.c.


Define Documentation

#define CHUNK   1
 

Definition at line 12 of file hash.c.

Referenced by htAddToTable(), and htNewTable().


Function Documentation

void htAddToTable struct hash_table t,
const char *  dir,
const char *  base
 

Definition at line 133 of file hash.c.

References bucket::allocated, filePath::base, hash_table::bucket, CHUNK, bucket::data, filePath::dir, hash_table::entries, bucket::firstFree, htHashStrings(), in_table_aux(), hash_table::overHead, and hash_table::size.

Referenced by compareFileList().

void htFreeHashTable struct hash_table ht  ) 
 

Definition at line 53 of file hash.c.

References filePath::base, hash_table::bucket, bucket::data, filePath::dir, bucket::firstFree, and hash_table::size.

Referenced by ugFindUpgradePackages().

void htHashStats const struct hash_table t  ) 
 

Definition at line 71 of file hash.c.

References hash_table::bucket, hash_table::entries, bucket::firstFree, hash_table::overHead, and hash_table::size.

static unsigned int htHashStrings const char *  s,
const char *  t
[static]
 

Definition at line 92 of file hash.c.

Referenced by htAddToTable(), htInTable(), and htRemoveFromTable().

int htInTable struct hash_table t,
const char *  dir,
const char *  base
 

Definition at line 122 of file hash.c.

References htHashStrings(), in_table_aux(), and hash_table::size.

Referenced by findPackagesWithRelocatedFiles(), and removeMovedFilesAlreadyHandled().

int htIterGetNext struct hash_table t,
htIterator iter,
const char **  dir,
const char **  base
 

Definition at line 185 of file hash.c.

References filePath::base, ht_iterator::bucket, hash_table::bucket, bucket::data, filePath::dir, ht_iterator::item, and hash_table::size.

void htIterStart htIterator iter  ) 
 

Definition at line 180 of file hash.c.

References ht_iterator::bucket, and ht_iterator::item.

struct hash_table* htNewTable int  size  ) 
 

Definition at line 32 of file hash.c.

References bucket::allocated, hash_table::bucket, CHUNK, bucket::data, hash_table::entries, bucket::firstFree, hash_table::overHead, and hash_table::size.

Referenced by ugFindUpgradePackages().

int htNumEntries struct hash_table t  ) 
 

Definition at line 176 of file hash.c.

References hash_table::entries.

void htRemoveFromTable struct hash_table t,
const char *  dir,
const char *  base
 

Definition at line 158 of file hash.c.

References filePath::base, hash_table::bucket, bucket::data, filePath::dir, bucket::firstFree, htHashStrings(), in_table_aux(), and hash_table::size.

Referenced by findPackagesWithRelocatedFiles(), and removeMovedFilesAlreadyHandled().

static int in_table_aux struct hash_table t,
int  hash,
const char *  dir,
const char *  base
[static]
 

Definition at line 105 of file hash.c.

References filePath::base, hash_table::bucket, bucket::data, filePath::dir, and bucket::firstFree.

Referenced by htAddToTable(), htInTable(), and htRemoveFromTable().


Generated on Thu Mar 9 17:27:47 2006 for rpm by  doxygen 1.4.6