diff options
author | Daniel Lange <DLange@git.local> | 2020-08-27 07:48:10 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2020-08-27 07:48:10 +0200 |
commit | f3147ea2d1598914c2db53e8cfb34c8ff81e2ff4 (patch) | |
tree | 3ee82b2af2ab3d38b6e4b07f3994516aac72f742 /Vector.c | |
parent | df568a576f7b44ac5a2b9b7222c7f39d9932f626 (diff) | |
download | debian_htop-f3147ea2d1598914c2db53e8cfb34c8ff81e2ff4.tar.gz debian_htop-f3147ea2d1598914c2db53e8cfb34c8ff81e2ff4.tar.bz2 debian_htop-f3147ea2d1598914c2db53e8cfb34c8ff81e2ff4.zip |
New upstream version 3.0.0upstream/3.0.0
Diffstat (limited to 'Vector.c')
-rw-r--r-- | Vector.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -195,7 +195,7 @@ void Vector_insert(Vector* this, int idx, void* data_) { if (idx > this->items) { idx = this->items; } - + Vector_checkArraySize(this); //assert(this->array[this->items] == NULL); for (int i = this->items; i > idx; i--) { @@ -302,7 +302,7 @@ inline int Vector_size(Vector* this) { static void Vector_merge(Vector* this, Vector* v2) { int i; assert(Vector_isConsistent(this)); - + for (i = 0; i < v2->items; i++) Vector_add(this, v2->array[i]); v2->items = 0; @@ -335,3 +335,15 @@ inline int Vector_indexOf(Vector* this, void* search_, Object_Compare compare) { } return -1; } + +void Vector_splice(Vector* this, Vector* from) { + assert(Vector_isConsistent(this)); + assert(Vector_isConsistent(from)); + assert(!(this->owner && from->owner)); + + int olditmes = this->items; + this->items += from->items; + Vector_checkArraySize(this); + for (int j = 0; j < from->items; j++) + this->array[olditmes + j] = from->array[j]; +} |