* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
#include "libbb.h"
typedef struct ino_dev_hash_bucket_struct {
* Return name if statbuf->st_ino && statbuf->st_dev are recorded in
* ino_dev_hashtable, else return NULL
*/
-char *is_in_ino_dev_hashtable(const struct stat *statbuf)
+char* FAST_FUNC is_in_ino_dev_hashtable(const struct stat *statbuf)
{
ino_dev_hashtable_bucket_t *bucket;
}
/* Add statbuf to statbuf hash table */
-void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name)
+void FAST_FUNC add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name)
{
int i;
ino_dev_hashtable_bucket_t *bucket;
ino_dev_hashtable[i] = bucket;
}
-#if ENABLE_FEATURE_CLEAN_UP
+#if ENABLE_DU || ENABLE_FEATURE_CLEAN_UP
/* Clear statbuf hash table */
-void reset_ino_dev_hashtable(void)
+void FAST_FUNC reset_ino_dev_hashtable(void)
{
int i;
ino_dev_hashtable_bucket_t *bucket;
- for (i = 0; i < HASH_SIZE; i++) {
+ for (i = 0; ino_dev_hashtable && i < HASH_SIZE; i++) {
while (ino_dev_hashtable[i] != NULL) {
bucket = ino_dev_hashtable[i]->next;
free(ino_dev_hashtable[i]);