diff options
Diffstat (limited to 'lib/hash-triple.c')
-rw-r--r-- | lib/hash-triple.c | 41 |
1 files changed, 4 insertions, 37 deletions
diff --git a/lib/hash-triple.c b/lib/hash-triple.c index 560e442fbd..a5fabaccb1 100644 --- a/lib/hash-triple.c +++ b/lib/hash-triple.c @@ -1,9 +1,9 @@ /* Hash functions for file-related triples: name, device, inode. - Copyright (C) 2007, 2009-2020 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. 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 3 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -18,28 +18,12 @@ #include <config.h> +/* Specification. */ #include "hash-triple.h" -#include <stdlib.h> -#include <string.h> - -#include "hash-pjw.h" #include "same.h" #include "same-inode.h" -#define STREQ(a, b) (strcmp (a, b) == 0) - -/* 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) @@ -56,22 +40,5 @@ 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; -} - -bool -triple_compare_ino_str (void const *x, void const *y) -{ - struct F_triple const *a = x; - struct F_triple const *b = y; - return (SAME_INODE (*a, *b) && STREQ (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); + return PSAME_INODE (a, b) && same_name (a->name, b->name); } |