diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-10-07 02:40:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-07 02:40:56 +0300 |
commit | 90ec4a40d04100d0c7d1d5e1f80c12742e8883d3 (patch) | |
tree | a1234320efa4f33b6c6f18f9b197be7aabdd7415 /src/common/db.h | |
parent | 336c264a324d708a3b5a72c1c086b74dc76c1b0f (diff) | |
parent | 872fc8d4f4a8ea60a1d97da4ca724c7b70e1af18 (diff) | |
download | hercules-90ec4a40d04100d0c7d1d5e1f80c12742e8883d3.tar.gz hercules-90ec4a40d04100d0c7d1d5e1f80c12742e8883d3.tar.bz2 hercules-90ec4a40d04100d0c7d1d5e1f80c12742e8883d3.tar.xz hercules-90ec4a40d04100d0c7d1d5e1f80c12742e8883d3.zip |
Merge pull request #1464 from MishimaHaruna/variousfixes
Build / CI improvements
Diffstat (limited to 'src/common/db.h')
-rw-r--r-- | src/common/db.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/common/db.h b/src/common/db.h index 1c0955221..4cbc66ade 100644 --- a/src/common/db.h +++ b/src/common/db.h @@ -1114,7 +1114,11 @@ HPShared struct db_interface *DB; * @param _vec Vector. */ #define VECTOR_INIT(_vec) \ - memset(&(_vec), 0, sizeof(_vec)) + do { \ + VECTOR_DATA(_vec) = NULL; \ + VECTOR_CAPACITY(_vec) = 0; \ + VECTOR_LENGTH(_vec) = 0; \ + } while(false) /** * Returns the internal array of values. @@ -1220,12 +1224,11 @@ HPShared struct db_interface *DB; */ #define VECTOR_ENSURE(_vec, _n, _step) \ do { \ - int _empty_ = VECTOR_CAPACITY(_vec)-VECTOR_LENGTH(_vec); \ - if ((_n) > _empty_) { \ - while ((_n) > _empty_) \ - _empty_ += (_step); \ - VECTOR_RESIZE(_vec, _empty_+VECTOR_LENGTH(_vec)); \ - } \ + int _newcapacity_ = VECTOR_CAPACITY(_vec); \ + while ((_n) + VECTOR_LENGTH(_vec) > _newcapacity_) \ + _newcapacity_ += (_step); \ + if (_newcapacity_ > VECTOR_CAPACITY(_vec)) \ + VECTOR_RESIZE(_vec, _newcapacity_); \ } while(false) /** |