From ecfd63a2fb2833c97bab1b8f5ec08ce009788353 Mon Sep 17 00:00:00 2001 From: Martin Nilsson <nilsson@opera.com> Date: Mon, 14 Jul 2014 15:24:18 +0200 Subject: [PATCH] merge_array_without_order(2) isn't actually used. --- src/array.c | 135 ---------------------------------------------------- src/array.h | 4 -- 2 files changed, 139 deletions(-) diff --git a/src/array.c b/src/array.c index 8cea9ac70c..a0aa7df036 100644 --- a/src/array.c +++ b/src/array.c @@ -1911,141 +1911,6 @@ PMOD_EXPORT struct array *merge_array_with_order(struct array *a, #undef TYPE #undef ID - -PMOD_EXPORT struct array *merge_array_without_order2(struct array *a, struct array *b,INT32 op) -{ - ONERROR r1,r2,r3,r4,r5; - INT32 ap,bp,i; - struct svalue *arra,*arrb; - struct array *ret; - -#ifdef PIKE_DEBUG - if(d_flag > 1) - { - array_check_type_field(a); - array_check_type_field(b); - } -#endif - - SET_ONERROR(r1,do_free_array,a); - SET_ONERROR(r2,do_free_array,b); - - if(a->refs==1 || !a->size) - { - arra=ITEM(a); - }else{ - /* Overlow safe: ((1<<29)-4)*8 < ULONG_MAX */ - arra=xalloc(a->size*sizeof(struct svalue)); - MEMCPY(arra,ITEM(a),a->size*sizeof(struct svalue)); - SET_ONERROR(r3,free,arra); - } - - if(b->refs==1 || !b->size) - { - arrb=ITEM(b); - }else{ - /* Overlow safe: ((1<<29)-4)*8 < ULONG_MAX */ - arrb=xalloc(b->size*sizeof(struct svalue)); - MEMCPY(arrb,ITEM(b),b->size*sizeof(struct svalue)); - SET_ONERROR(r4,free,arrb); - } - - set_sort_svalues(arra,arra+a->size-1); - set_sort_svalues(arrb,arrb+b->size-1); - - ret=low_allocate_array(0,32); - SET_ONERROR(r5,do_free_array,ret); - ap=bp=0; - - while(ap < a->size && bp < b->size) - { - i=set_svalue_cmpfun(arra+ap,arrb+bp); - if(i < 0) - i=op >> 8; - else if(i > 0) - i=op; - else - i=op >> 4; - - if(i & PIKE_ARRAY_OP_A) ret=append_array(ret,arra+ap); - if(i & PIKE_ARRAY_OP_B) ret=append_array(ret,arrb+bp); - if(i & PIKE_ARRAY_OP_SKIP_A) ap++; - if(i & PIKE_ARRAY_OP_SKIP_B) bp++; - } - - if((op >> 8) & PIKE_ARRAY_OP_A) - while(ap<a->size) - ret=append_array(ret,arra + ap++); - - if(op & PIKE_ARRAY_OP_B) - while(bp<b->size) - ret=append_array(ret,arrb + bp++); - - UNSET_ONERROR(r5); - - if(arrb != ITEM(b)) - { - UNSET_ONERROR(r4); - free(arrb); - } - - if(arra != ITEM(a)) - { - UNSET_ONERROR(r3); - free(arra); - } - - UNSET_ONERROR(r2); - free_array(b); - - UNSET_ONERROR(r1); - free_array(a); - - return ret; -} - - -/** merge two arrays without paying attention to the order - * the elements has presently - */ -PMOD_EXPORT struct array *merge_array_without_order(struct array *a, - struct array *b, - INT32 op) -{ -#if 0 - /* FIXME: If this routine is ever reinstated, it has to be - * fixed to use ONERROR - */ - INT32 *zipper; - struct array *tmpa,*tmpb,*ret; - - if(ordera) { free(ordera); ordera=0; } - if(orderb) { free(orderb); orderb=0; } - - ordera=get_set_order(a); - tmpa=reorder_and_copy_array(a,ordera); - free(ordera); - ordera=0; - - orderb=get_set_order(b); - tmpb=reorder_and_copy_array(b,orderb); - free(orderb); - orderb=0; - - zipper=merge(tmpa,tmpb,op); - ret=array_zip(tmpa,tmpb,zipper); - free_array(tmpa); - free_array(tmpb); - free(zipper); - return ret; - -#else - add_ref(a); - add_ref(b); - return merge_array_without_order2(a,b,op); -#endif -} - /** Remove all instances of an svalue from an array */ static struct array *subtract_array_svalue(struct array *a, struct svalue *b) diff --git a/src/array.h b/src/array.h index abb99c6e53..0ceaee5313 100644 --- a/src/array.h +++ b/src/array.h @@ -164,10 +164,6 @@ PMOD_EXPORT struct array *add_arrays(struct svalue *argp, INT32 args); PMOD_EXPORT int array_equal_p(struct array *a, struct array *b, struct processing *p); PMOD_EXPORT struct array *merge_array_with_order(struct array *a, struct array *b, INT32 op); -PMOD_EXPORT struct array *merge_array_without_order2(struct array *a, struct array *b,INT32 op); -PMOD_EXPORT struct array *merge_array_without_order(struct array *a, - struct array *b, - INT32 op); PMOD_EXPORT struct array *subtract_arrays(struct array *a, struct array *b); PMOD_EXPORT struct array *and_arrays(struct array *a, struct array *b); int array_is_constant(struct array *a, -- GitLab