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