summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorDavid Cantrell <dcantrell@redhat.com>2009-02-18 16:23:49 -1000
committerDavid Cantrell <dcantrell@redhat.com>2009-02-20 12:12:28 -1000
commit5fd613c9fe5d834651b6bf9d15a52b71afff7c91 (patch)
treed08d48ed9d4b35a325bcb773c1384540682321b2 /utils
parent11166c9c091198a749b465cd39041ad3aae5103a (diff)
downloadanaconda-5fd613c9fe5d834651b6bf9d15a52b71afff7c91.tar.gz
anaconda-5fd613c9fe5d834651b6bf9d15a52b71afff7c91.tar.xz
anaconda-5fd613c9fe5d834651b6bf9d15a52b71afff7c91.zip
Remove old content from utils/
Remove old content from utils/Makefile, remove hash.c and hash.h.
Diffstat (limited to 'utils')
-rw-r--r--utils/Makefile13
-rw-r--r--utils/hash.c220
-rw-r--r--utils/hash.h47
3 files changed, 2 insertions, 278 deletions
diff --git a/utils/Makefile b/utils/Makefile
index c665d9151..4677b04c0 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -22,12 +22,9 @@ include ../Makefile.inc
ARCH := $(patsubst i%86,i386,$(shell uname -m))
ARCH := $(patsubst sparc%,sparc,$(ARCH))
-ISYSLIB=isys
-
LOADERDIR = ../loader
LOADLIBES = -lpopt
-CFLAGS += -I.. -I$(LOADERDIR) -fno-strict-aliasing
-RPMCFLAGS = $(CFLAGS) -I/usr/include/rpm
+CFLAGS += -I.. -I$(LOADERDIR)
UTILS = modlist snarffont mapshdr readmap
ifeq (s390, $(ARCH))
@@ -58,12 +55,6 @@ moduledeps.o: $(LOADERDIR)/moduledeps.c
cp $(LOADERDIR)/moduledeps.c ./
$(CC) $(CFLAGS) -c moduledeps.c
-md5.o: md5.c md5.h
- gcc -c -O -g md5.c -D_FORTIFY_SOURCE=2
-
-hash.o : hash.c
- $(CC) $(RPMCFLAGS) -c -o $@ $<
-
geninitrdsz: geninitrdsz.c
$(CC) $(CFLAGS) -o $@ $<
@@ -92,7 +83,7 @@ clean:
moduledeps.c moduleinfo.c .depend *.o
depend:
- $(CPP) -M $(RPMCFLAGS) *.c > .depend
+ $(CPP) -M -I$(LOADERDIR) *.c > .depend
ifeq (.depend,$(wildcard .depend))
include .depend
diff --git a/utils/hash.c b/utils/hash.c
deleted file mode 100644
index c88cd9dbc..000000000
--- a/utils/hash.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * hash.c
- *
- * Copyright (C) 2007 Red Hat, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "hash.h"
-
-#define CHUNK 1
-
-struct filePath {
- char * dir;
- char * base;
-} ;
-
-struct bucket {
- struct filePath * data;
- int allocated;
- int firstFree; /* as in data[firstFree] */
-};
-
-struct hash_table {
- int size;
- int entries;
- int overHead;
- struct bucket *bucket;
-};
-
-struct hash_table *htNewTable(int size)
-{
- struct hash_table *res;
- int i = 0;
-
- res = malloc(sizeof(struct hash_table));
- res->bucket = malloc(sizeof(struct bucket) * size);
- res->size = size;
- res->entries = 0;
- res->overHead = sizeof(struct bucket) * size + CHUNK * sizeof(char *);
-
- while (i < size) {
- res->bucket[i].data = malloc(CHUNK * sizeof(*res->bucket[i].data));
- res->bucket[i].allocated = CHUNK;
- res->bucket[i].firstFree = 0;
- i++;
- }
-
- return res;
-}
-
-void htFreeHashTable(struct hash_table *ht)
-{
- struct bucket * b;
- int item;
-
- b = ht->bucket;
- while (ht->size--) {
- for (item = 0; item < b->firstFree; item++) {
- free(b->data[item].dir);
- free(b->data[item].base);
- }
- free(b->data);
- b++;
- }
- free(ht->bucket);
- free(ht);
-}
-
-void htHashStats(struct hash_table *t)
-{
- int i = 0;
- int empty = 0;
-
- while (i < t->size) {
- if (t->bucket[i].firstFree != 0) {
- /*printf("Bucket %d used %d\n", i, t->bucket[i].firstFree);*/
- } else {
- empty++;
- }
- i++;
- }
-
- printf("Total Buckets : %d\n", t->size);
- printf("Empty Buckets : %d\n", empty);
- printf("Total Entries : %d\n", t->entries);
- printf("Total Overhead: %d\n", t->overHead);
- printf("Avergage Depth: %f\n", (double)t->entries / (double)t->size);
-}
-
-static unsigned int htHashStrings(const char *s, const char *t)
-{
- unsigned int res = 0;
-
- while (*s)
- res = ((res<<1) + (int)(*(s++)));
- while (*t)
- res = ((res<<1) + (int)(*(t++)));
-
- return res;
-}
-
-/* returns bucket # containing item, or -1 */
-static int in_table_aux(struct hash_table *t, int hash, const char * dir,
- const char * base)
-{
- int x;
-
- x = 0;
- while (x < t->bucket[hash].firstFree) {
- if (! strcmp(t->bucket[hash].data[x].dir, dir) &&
- ! strcmp(t->bucket[hash].data[x].base, base)) {
- return x;
- }
- x++;
- }
-
- return -1;
-}
-
-int htInTable(struct hash_table *t, const char * dir, const char * base)
-{
- int hash;
-
- hash = htHashStrings(dir, base) % t->size;
-
- if (in_table_aux(t, hash, dir, base) == -1)
- return 0;
- return 1;
-}
-
-void htAddToTable(struct hash_table *t, const char * dir, const char * base)
-{
- static int hash = 1;
-
- if (!dir || !base)
- return;
-
- hash = htHashStrings(dir, base) % t->size;
- if (in_table_aux(t, hash, dir, base) != -1)
- return;
-
- if (t->bucket[hash].firstFree == t->bucket[hash].allocated) {
- t->bucket[hash].allocated += CHUNK;
- t->bucket[hash].data =
- realloc(t->bucket[hash].data,
- t->bucket[hash].allocated * sizeof(*(t->bucket->data)));
- /*printf("Bucket %d grew to %d\n", hash, t->bucket[hash].allocated);*/
- t->overHead += sizeof(char *) * CHUNK;
- }
- /*printf("In bucket %d, item %d\n", hash, t->bucket[hash].firstFree);*/
- t->bucket[hash].data[t->bucket[hash].firstFree].dir = strdup(dir);
- t->bucket[hash].data[t->bucket[hash].firstFree++].base = strdup(base);
- t->entries++;
-}
-
-void htRemoveFromTable(struct hash_table *t, const char * dir,
- const char * base) {
- int hash;
- int item;
- int last;
-
- hash = htHashStrings(dir, base) % t->size;
- if ((item = in_table_aux(t, hash, dir, base)) == -1) {
- return;
- }
-
- free(t->bucket[hash].data[item].dir);
- free(t->bucket[hash].data[item].base);
-
- last = --t->bucket[hash].firstFree;
- t->bucket[hash].data[item] = t->bucket[hash].data[last];
-}
-
-int htNumEntries(struct hash_table *t) {
- return t->entries;
-}
-
-void htIterStart(htIterator * iter) {
- iter->bucket = 0;
- iter->item = -1;
-}
-
-int htIterGetNext(struct hash_table * t, htIterator * iter,
- const char ** dir, const char ** base) {
- iter->item++;
-
- while (iter->bucket < t->size) {
- if (iter->item < t->bucket[iter->bucket].firstFree) {
- *dir = t->bucket[iter->bucket].data[iter->item].dir;
- *base = t->bucket[iter->bucket].data[iter->item].base;
-
- return 1;
- }
-
- iter->item++;
- if (iter->item >= t->bucket[iter->bucket].firstFree) {
- iter->bucket++;
- iter->item = 0;
- }
- }
-
- return 0;
-}
diff --git a/utils/hash.h b/utils/hash.h
deleted file mode 100644
index eb7a990f7..000000000
--- a/utils/hash.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * hash.h
- *
- * Copyright (C) 2007 Red Hat, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef H_HASH
-#define H_HASH
-
-struct hash_table;
-typedef struct hash_table * hashTable;
-
-struct ht_iterator {
- int bucket;
- int item;
-};
-
-typedef struct ht_iterator htIterator;
-
-struct hash_table *htNewTable(int size);
-void htFreeHashTable(struct hash_table *ht);
-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 htPrintHashStats(struct hash_table *t);
-int htNumEntries(struct hash_table *t);
-void htRemoveFromTable(struct hash_table *t, const char * dir,
- const char * base);
-
-/* these use static storage */
-void htIterStart(htIterator * iter);
-int htIterGetNext(struct hash_table * t, htIterator * iter,
- const char ** dir, const char ** base);
-
-#endif