aboutsummaryrefslogtreecommitdiffstats
path: root/Vector.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2020-08-27 07:48:10 +0200
committerDaniel Lange <DLange@git.local>2020-08-27 07:48:10 +0200
commitf3147ea2d1598914c2db53e8cfb34c8ff81e2ff4 (patch)
tree3ee82b2af2ab3d38b6e4b07f3994516aac72f742 /Vector.c
parentdf568a576f7b44ac5a2b9b7222c7f39d9932f626 (diff)
downloaddebian_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.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/Vector.c b/Vector.c
index 6eb91ae..b5e7744 100644
--- a/Vector.c
+++ b/Vector.c
@@ -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];
+}

© 2014-2024 Faster IT GmbH | imprint | privacy policy