diff options
| -rw-r--r-- | src/hash.h | 3 | ||||
| -rw-r--r-- | src/tests/hash2.cpp | 28 |
2 files changed, 30 insertions, 1 deletions
| @@ -1115,7 +1115,8 @@ namespace Bu | |||
| 1115 | // Delete all of the old data | 1115 | // Delete all of the old data |
| 1116 | for( uint32_t j = 0; j < nOldCapacity; j++ ) | 1116 | for( uint32_t j = 0; j < nOldCapacity; j++ ) |
| 1117 | { | 1117 | { |
| 1118 | if( (bOldFilled[j/32]&(1<<(j%32)))!=0 ) | 1118 | if( (bOldFilled[j/32]&(1<<(j%32)))!=0 && |
| 1119 | (bOldDeleted[j/32]&(1<<(j%32)))==0 ) | ||
| 1119 | { | 1120 | { |
| 1120 | va.destroy( &aOldValues[j] ); | 1121 | va.destroy( &aOldValues[j] ); |
| 1121 | ka.destroy( &aOldKeys[j] ); | 1122 | ka.destroy( &aOldKeys[j] ); |
diff --git a/src/tests/hash2.cpp b/src/tests/hash2.cpp new file mode 100644 index 0000000..24c9d8c --- /dev/null +++ b/src/tests/hash2.cpp | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | #include <bu/fstring.h> | ||
| 2 | #include <bu/hash.h> | ||
| 3 | |||
| 4 | int main() | ||
| 5 | { | ||
| 6 | Bu::Hash<Bu::FString, int> hCmd; | ||
| 7 | |||
| 8 | hCmd.insert("help", 5 ); | ||
| 9 | hCmd.insert("exit", 5 ); | ||
| 10 | hCmd.insert("getkey", 5 ); | ||
| 11 | hCmd.insert("setcrypt", 5 ); | ||
| 12 | hCmd.insert("user", 5 ); | ||
| 13 | hCmd.insert("pass", 5 ); | ||
| 14 | hCmd.erase("getkey"); | ||
| 15 | hCmd.erase("setcrypt"); | ||
| 16 | hCmd.insert("user", 5 ); | ||
| 17 | hCmd.insert("pass", 5 ); | ||
| 18 | hCmd.erase("pass"); | ||
| 19 | hCmd.erase("user"); | ||
| 20 | hCmd.insert("acl", 5 ); | ||
| 21 | hCmd.insert("owner", 5 ); | ||
| 22 | hCmd.insert("operator", 5 ); | ||
| 23 | hCmd.insert("admin", 5 ); | ||
| 24 | hCmd.insert("monitor", 5 ); | ||
| 25 | hCmd.insert("shutdown", 5 ); | ||
| 26 | |||
| 27 | return 0; | ||
| 28 | } | ||
