diff options
| author | Ron Yorston <rmy@pobox.com> | 2014-11-30 09:50:05 +0000 |
|---|---|---|
| committer | Ron Yorston <rmy@pobox.com> | 2014-11-30 09:50:05 +0000 |
| commit | 7ef60bda00dc4b2fbccf67a40885569ab45eb7aa (patch) | |
| tree | 3cc5422bcf037f0e14b46ebc395d4cd67bcae4de /libbb | |
| parent | 084cca42dfa926e6fbf8a95b9adc1831647d3528 (diff) | |
| download | busybox-w32-7ef60bda00dc4b2fbccf67a40885569ab45eb7aa.tar.gz busybox-w32-7ef60bda00dc4b2fbccf67a40885569ab45eb7aa.tar.bz2 busybox-w32-7ef60bda00dc4b2fbccf67a40885569ab45eb7aa.zip | |
Don't store file details in inode hash table
Diffstat (limited to 'libbb')
| -rw-r--r-- | libbb/copy_file.c | 6 | ||||
| -rw-r--r-- | libbb/inode_hash.c | 2 |
2 files changed, 2 insertions, 6 deletions
diff --git a/libbb/copy_file.c b/libbb/copy_file.c index 935a9a4c4..a427c441f 100644 --- a/libbb/copy_file.c +++ b/libbb/copy_file.c | |||
| @@ -142,7 +142,6 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) | |||
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | /* Did we ever create source ourself before? */ | 144 | /* Did we ever create source ourself before? */ |
| 145 | #if !ENABLE_PLATFORM_MINGW32 | ||
| 146 | tp = is_in_ino_dev_hashtable(&source_stat); | 145 | tp = is_in_ino_dev_hashtable(&source_stat); |
| 147 | if (tp) { | 146 | if (tp) { |
| 148 | /* We did! it's a recursion! man the lifeboats... */ | 147 | /* We did! it's a recursion! man the lifeboats... */ |
| @@ -150,7 +149,6 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) | |||
| 150 | source); | 149 | source); |
| 151 | return -1; | 150 | return -1; |
| 152 | } | 151 | } |
| 153 | #endif | ||
| 154 | 152 | ||
| 155 | if (dest_exists) { | 153 | if (dest_exists) { |
| 156 | if (!S_ISDIR(dest_stat.st_mode)) { | 154 | if (!S_ISDIR(dest_stat.st_mode)) { |
| @@ -181,11 +179,9 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) | |||
| 181 | return -1; | 179 | return -1; |
| 182 | } | 180 | } |
| 183 | } | 181 | } |
| 184 | #if !ENABLE_PLATFORM_MINGW32 | ||
| 185 | /* remember (dev,inode) of each created dir. | 182 | /* remember (dev,inode) of each created dir. |
| 186 | * NULL: name is not remembered */ | 183 | * NULL: name is not remembered */ |
| 187 | add_to_ino_dev_hashtable(&dest_stat, NULL); | 184 | add_to_ino_dev_hashtable(&dest_stat, NULL); |
| 188 | #endif | ||
| 189 | 185 | ||
| 190 | /* Recursively copy files in SOURCE */ | 186 | /* Recursively copy files in SOURCE */ |
| 191 | dp = opendir(source); | 187 | dp = opendir(source); |
| @@ -255,7 +251,6 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) | |||
| 255 | goto dont_cat; | 251 | goto dont_cat; |
| 256 | } | 252 | } |
| 257 | 253 | ||
| 258 | #if !ENABLE_PLATFORM_MINGW32 | ||
| 259 | if (ENABLE_FEATURE_PRESERVE_HARDLINKS && !FLAGS_DEREF) { | 254 | if (ENABLE_FEATURE_PRESERVE_HARDLINKS && !FLAGS_DEREF) { |
| 260 | const char *link_target; | 255 | const char *link_target; |
| 261 | link_target = is_in_ino_dev_hashtable(&source_stat); | 256 | link_target = is_in_ino_dev_hashtable(&source_stat); |
| @@ -273,7 +268,6 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) | |||
| 273 | } | 268 | } |
| 274 | add_to_ino_dev_hashtable(&source_stat, dest); | 269 | add_to_ino_dev_hashtable(&source_stat, dest); |
| 275 | } | 270 | } |
| 276 | #endif | ||
| 277 | 271 | ||
| 278 | src_fd = open_or_warn(source, O_RDONLY); | 272 | src_fd = open_or_warn(source, O_RDONLY); |
| 279 | if (src_fd < 0) | 273 | if (src_fd < 0) |
diff --git a/libbb/inode_hash.c b/libbb/inode_hash.c index f11c2afb2..64f43b885 100644 --- a/libbb/inode_hash.c +++ b/libbb/inode_hash.c | |||
| @@ -59,6 +59,7 @@ char* FAST_FUNC is_in_ino_dev_hashtable(const struct stat *statbuf) | |||
| 59 | /* Add statbuf to statbuf hash table */ | 59 | /* Add statbuf to statbuf hash table */ |
| 60 | void FAST_FUNC add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name) | 60 | void FAST_FUNC add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name) |
| 61 | { | 61 | { |
| 62 | #if !ENABLE_PLATFORM_MINGW32 | ||
| 62 | int i; | 63 | int i; |
| 63 | ino_dev_hashtable_bucket_t *bucket; | 64 | ino_dev_hashtable_bucket_t *bucket; |
| 64 | 65 | ||
| @@ -76,6 +77,7 @@ void FAST_FUNC add_to_ino_dev_hashtable(const struct stat *statbuf, const char * | |||
| 76 | i = hash_inode(statbuf->st_ino); | 77 | i = hash_inode(statbuf->st_ino); |
| 77 | bucket->next = ino_dev_hashtable[i]; | 78 | bucket->next = ino_dev_hashtable[i]; |
| 78 | ino_dev_hashtable[i] = bucket; | 79 | ino_dev_hashtable[i] = bucket; |
| 80 | #endif | ||
| 79 | } | 81 | } |
| 80 | 82 | ||
| 81 | #if ENABLE_DU || ENABLE_FEATURE_CLEAN_UP | 83 | #if ENABLE_DU || ENABLE_FEATURE_CLEAN_UP |
