return 0;
}
+ if ( b[0] == 1 ) {
+ return bdb_idl_append_one( a, BDB_IDL_FIRST( b ));
+ }
+
ida = BDB_IDL_LAST( a );
idb = BDB_IDL_LAST( b );
if ( BDB_IDL_IS_RANGE( a ) || BDB_IDL_IS_RANGE(b) ||
return 0;
}
- if ( b[0] > 1 && ida > idb ) {
+ if ( ida > idb ) {
swap = idb;
a[a[0]] = idb;
b[b[0]] = ida;
tmp = a[1];
a[1] = b[1];
} else {
- if (b[1] < ida) {
- tmp = a[a[0]];
- a[a[0]] = b[1];
- } else {
- tmp = b[1];
- }
+ tmp = b[1];
}
a[0]++;
a[a[0]] = tmp;
- if ( b[0] > 1 ) {
+ {
int i = b[0] - 1;
AC_MEMCPY(a+a[0]+1, b+2, i * sizeof(ID));
a[0] += i;