summaryrefslogtreecommitdiff
path: root/gl/lib
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-09-25 22:24:21 +0200
committerJim Meyering <jim@meyering.net>2007-09-27 10:53:36 +0200
commit491c54ca99717339656509111012e88a6e3def84 (patch)
tree17625f5764a55b01b01576d1cf21209023dfd6d2 /gl/lib
parentbeaa39a649939cf19994bf773871a810ef896701 (diff)
downloadcoreutils-491c54ca99717339656509111012e88a6e3def84.tar.xz
Move file-set and hash-triple modules to gnulib.
* bootstrap.conf (gnulib_modules): Remove file-set, now that it's in gnulib, and the canonicalize module requires it there. * gl/lib/file-set.c, gl/lib/file-set.h, gl/modules/hash-triple: Remove. * gl/lib/hash-triple.c, gl/lib/hash-triple.h, gl/modules/file-set: Remove.
Diffstat (limited to 'gl/lib')
-rw-r--r--gl/lib/file-set.c56
-rw-r--r--gl/lib/file-set.h12
-rw-r--r--gl/lib/hash-triple.c48
-rw-r--r--gl/lib/hash-triple.h21
4 files changed, 0 insertions, 137 deletions
diff --git a/gl/lib/file-set.c b/gl/lib/file-set.c
deleted file mode 100644
index ad03f90ce..000000000
--- a/gl/lib/file-set.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <config.h>
-#include "file-set.h"
-
-#include "hash-triple.h"
-#include "xalloc.h"
-
-/* Record destination file, FILE, and dev/ino from *STATS,
- in the hash table, HT. If HT is NULL, return immediately.
- If memory allocation fails, exit immediately. */
-void
-record_file (Hash_table *ht, char const *file, struct stat const *stats)
-{
- struct F_triple *ent;
-
- if (ht == NULL)
- return;
-
- ent = xmalloc (sizeof *ent);
- ent->name = xstrdup (file);
- ent->st_ino = stats->st_ino;
- ent->st_dev = stats->st_dev;
-
- {
- struct F_triple *ent_from_table = hash_insert (ht, ent);
- if (ent_from_table == NULL)
- {
- /* Insertion failed due to lack of memory. */
- xalloc_die ();
- }
-
- if (ent_from_table != ent)
- {
- /* There was alread a matching entry in the table, so ENT was
- not inserted. Free it. */
- triple_free (ent);
- }
- }
-}
-
-/* Return true if there is an entry in hash table, HT,
- for the file described by FILE and STATS. */
-bool
-seen_file (Hash_table const *ht, char const *file,
- struct stat const *stats)
-{
- struct F_triple new_ent;
-
- if (ht == NULL)
- return false;
-
- new_ent.name = (char *) file;
- new_ent.st_ino = stats->st_ino;
- new_ent.st_dev = stats->st_dev;
-
- return !!hash_lookup (ht, &new_ent);
-}
diff --git a/gl/lib/file-set.h b/gl/lib/file-set.h
deleted file mode 100644
index a5a159e94..000000000
--- a/gl/lib/file-set.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdbool.h>
-
-#include "hash.h"
-
-extern void record_file (Hash_table *ht, char const *file,
- struct stat const *stats)
- __attribute__((nonnull(2, 3)));
-
-extern bool seen_file (Hash_table const *ht, char const *file,
- struct stat const *stats);
diff --git a/gl/lib/hash-triple.c b/gl/lib/hash-triple.c
deleted file mode 100644
index 74b9de80c..000000000
--- a/gl/lib/hash-triple.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <config.h>
-
-#include "hash-triple.h"
-
-#include <stdlib.h>
-
-#include "hash-pjw.h"
-#include "same.h"
-#include "same-inode.h"
-
-/* Hash an F_triple, and *do* consider the file name. */
-size_t
-triple_hash (void const *x, size_t table_size)
-{
- struct F_triple const *p = x;
- size_t tmp = hash_pjw (p->name, table_size);
-
- /* Ignoring the device number here should be fine. */
- return (tmp ^ p->st_ino) % table_size;
-}
-
-/* Hash an F_triple, without considering the file name. */
-size_t
-triple_hash_no_name (void const *x, size_t table_size)
-{
- struct F_triple const *p = x;
-
- /* Ignoring the device number here should be fine. */
- return p->st_ino % table_size;
-}
-
-/* Compare two F_triple structs. */
-bool
-triple_compare (void const *x, void const *y)
-{
- struct F_triple const *a = x;
- struct F_triple const *b = y;
- return (SAME_INODE (*a, *b) && same_name (a->name, b->name)) ? true : false;
-}
-
-/* Free an F_triple. */
-void
-triple_free (void *x)
-{
- struct F_triple *a = x;
- free (a->name);
- free (a);
-}
diff --git a/gl/lib/hash-triple.h b/gl/lib/hash-triple.h
deleted file mode 100644
index 7abe97044..000000000
--- a/gl/lib/hash-triple.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef HASH_TRIPLE_H
-#define HASH_TRIPLE_H
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdbool.h>
-
-/* Describe a just-created or just-renamed destination file. */
-struct F_triple
-{
- char *name;
- ino_t st_ino;
- dev_t st_dev;
-};
-
-extern size_t triple_hash (void const *x, size_t table_size);
-extern size_t triple_hash_no_name (void const *x, size_t table_size);
-extern bool triple_compare (void const *x, void const *y);
-extern void triple_free (void *x);
-
-#endif