aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcathook <cat.hook31894@gmail.com>2013-11-26 01:03:44 +0800
committercathook <cat.hook31894@gmail.com>2013-11-26 01:03:44 +0800
commit6108468489589121c78493bd9150b873b8ed10b4 (patch)
treec83e4e76e0c49dacff074bd50d0073d021d5e601
parentbb8dc7893a545a90001a8abd0fed9121451f9649 (diff)
parent4cfcb98388983c2ba222752c8c6e3a105a52c60a (diff)
downloadctl-6108468489589121c78493bd9150b873b8ed10b4.tar.gz
ctl-6108468489589121c78493bd9150b873b8ed10b4.tar.zst
ctl-6108468489589121c78493bd9150b873b8ed10b4.zip
Merge branch 'feature-vector' into feature-test
-rw-r--r--src/vector.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vector.c b/src/vector.c
index 317ddf1..77fbfa1 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -128,8 +128,8 @@ pvoid ctl_vector_copyX(ppvoid v, ppcvoid v2){
}
int ctl_vector_replaceX( ppvoid v , uint start1, uint length1,
ppcvoid v2, uint start2, int length2){
- int end1 = start1 + length1 - 1;
- int end2 = start2 + abs(length2) - 1, step2 = 1;
+ int end1 = (int)start1 + length1 - 1;
+ int end2 = (int)start2 + abs(length2) - 1, step2 = 1;
if(length2 < 0){
length2 *= -1;
step2 *= -1;
@@ -143,6 +143,7 @@ int ctl_vector_replaceX( ppvoid v , uint start1, uint length1,
for(i = sz0 + delta - 1; i - delta > end1; i--){
ctl_vector_setEntry(v, i, ctl_vector_getEntry(v, i - delta));
}
+ printf("increase to %d\n", sz0 + delta);
}else if(length1 > length2){ // need decrease size
int sz0 = ctl_vector_getSize(v);
int delta = length1 - length2;
@@ -151,8 +152,10 @@ int ctl_vector_replaceX( ppvoid v , uint start1, uint length1,
ctl_vector_setEntry(v, i, ctl_vector_getEntry(v, i + delta));
}
ctl_vector_setSize(v, sz0 - delta);
+ printf("decrease to %d\n", sz0 - delta);
}
for( ; start2 != end2; start2 += step2, start1 += 1){
+ printf("let %d = %d\n", start1, start2);
ctl_vector_setEntry(v, start1, ctl_vector_getEntry(v2, start2));
}
}