void SUB_HASHREMOVE(){
qbs *tqbs;
ptrszint tmp_long;
int32 tmp_fileno;
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
uint8 *tmp_mem_static_pointer=mem_static_pointer;
uint32 tmp_cmem_sp=cmem_sp;
#include "data207.txt"
mem_lock *sf_mem_lock;
new_mem_lock();
sf_mem_lock=mem_lock_tmp;
sf_mem_lock->type=3;
if (is_error_pending()) goto exit_subfunc;
do{
*_SUB_HASHREMOVE_LONG_I=*__LONG_HASHREMOVE_LASTFOUND;
if(!qbevent)break;evnt(24223,215,"hash.bas");}while(r);
do{
*__LONG_HASHLISTFREELAST=*__LONG_HASHLISTFREELAST+ 1 ;
if(!qbevent)break;evnt(24223,218,"hash.bas");}while(r);
S_36187:;
if ((-(*__LONG_HASHLISTFREELAST>*__LONG_HASHLISTFREESIZE))||is_error_pending()){
if(qbevent){evnt(24223,219,"hash.bas");if(r)goto S_36187;}
do{
*__LONG_HASHLISTFREESIZE=*__LONG_HASHLISTFREESIZE* 2 ;
if(!qbevent)break;evnt(24223,220,"hash.bas");}while(r);
do{

if (__ARRAY_LONG_HASHLISTFREE[2]&2){
error(10);
}else{
((mem_lock*)((ptrszint*)__ARRAY_LONG_HASHLISTFREE)[8])->id=(++mem_lock_id);
static int32 preserved_elements;
if (__ARRAY_LONG_HASHLISTFREE[2]&1){
preserved_elements=__ARRAY_LONG_HASHLISTFREE[5];
}
else preserved_elements=0;
__ARRAY_LONG_HASHLISTFREE[4]= 1 ;
__ARRAY_LONG_HASHLISTFREE[5]=(*__LONG_HASHLISTFREESIZE)-__ARRAY_LONG_HASHLISTFREE[4]+1;
__ARRAY_LONG_HASHLISTFREE[6]=1;
if (__ARRAY_LONG_HASHLISTFREE[2]&4){
if (preserved_elements){
memcpy(redim_preserve_cmem_buffer,(void*)(__ARRAY_LONG_HASHLISTFREE[0]),preserved_elements*4);
cmem_dynamic_free((uint8*)(__ARRAY_LONG_HASHLISTFREE[0]));
tmp_long=__ARRAY_LONG_HASHLISTFREE[5];
__ARRAY_LONG_HASHLISTFREE[0]=(ptrszint)cmem_dynamic_malloc(tmp_long*4);
memcpy((void*)(__ARRAY_LONG_HASHLISTFREE[0]),redim_preserve_cmem_buffer,preserved_elements*4);
if (preserved_elements<tmp_long) ZeroMemory(((uint8*)(__ARRAY_LONG_HASHLISTFREE[0]))+preserved_elements*4,(tmp_long*4)-(preserved_elements*4));
}else{
__ARRAY_LONG_HASHLISTFREE[0]=(ptrszint)cmem_dynamic_malloc(__ARRAY_LONG_HASHLISTFREE[5]*4);
memset((void*)(__ARRAY_LONG_HASHLISTFREE[0]),0,__ARRAY_LONG_HASHLISTFREE[5]*4);
}
}else{
if (preserved_elements){
tmp_long=__ARRAY_LONG_HASHLISTFREE[5];
__ARRAY_LONG_HASHLISTFREE[0]=(ptrszint)realloc((void*)(__ARRAY_LONG_HASHLISTFREE[0]),tmp_long*4);
if (!__ARRAY_LONG_HASHLISTFREE[0]) error(257);
if (preserved_elements<tmp_long) ZeroMemory(((uint8*)(__ARRAY_LONG_HASHLISTFREE[0]))+preserved_elements*4,(tmp_long*4)-(preserved_elements*4));
}else{
__ARRAY_LONG_HASHLISTFREE[0]=(ptrszint)calloc(__ARRAY_LONG_HASHLISTFREE[5]*4,1);
if (!__ARRAY_LONG_HASHLISTFREE[0]) error(257);
}
}
__ARRAY_LONG_HASHLISTFREE[2]|=1;
}
if(!qbevent)break;evnt(24223,221,"hash.bas");}while(r);
}
do{
tmp_long=array_check((*__LONG_HASHLISTFREELAST)-__ARRAY_LONG_HASHLISTFREE[4],__ARRAY_LONG_HASHLISTFREE[5]);
if (!is_error_pending()) ((int32*)(__ARRAY_LONG_HASHLISTFREE[0]))[tmp_long]=*_SUB_HASHREMOVE_LONG_I;
if(!qbevent)break;evnt(24223,223,"hash.bas");}while(r);
do{
*_SUB_HASHREMOVE_LONG_I1=*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+12));
if(!qbevent)break;evnt(24223,226,"hash.bas");}while(r);
S_36193:;
if ((*_SUB_HASHREMOVE_LONG_I1)||is_error_pending()){
if(qbevent){evnt(24223,227,"hash.bas");if(r)goto S_36193;}
do{
*_SUB_HASHREMOVE_LONG_I2=*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+8));
if(!qbevent)break;evnt(24223,229,"hash.bas");}while(r);
S_36195:;
if ((*_SUB_HASHREMOVE_LONG_I2)||is_error_pending()){
if(qbevent){evnt(24223,230,"hash.bas");if(r)goto S_36195;}
do{
*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I1)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+8))=*_SUB_HASHREMOVE_LONG_I2;
if(!qbevent)break;evnt(24223,232,"hash.bas");}while(r);
do{
*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I2)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+16))=*_SUB_HASHREMOVE_LONG_I1;
if(!qbevent)break;evnt(24223,233,"hash.bas");}while(r);
}else{
do{
*_SUB_HASHREMOVE_LONG_X=((int32*)(__ARRAY_LONG_HASHTABLE[0]))[array_check((FUNC_HASHVALUE(qbs_new_fixed(&((uint8*)(__ARRAY_STRING256_HASHLISTNAME[0]))[(array_check((*_SUB_HASHREMOVE_LONG_I)-__ARRAY_STRING256_HASHLISTNAME[4],__ARRAY_STRING256_HASHLISTNAME[5]))*256],256,1)))-__ARRAY_LONG_HASHTABLE[4],__ARRAY_LONG_HASHTABLE[5])];
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24223,236,"hash.bas");}while(r);
do{
*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_X)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+16))=*_SUB_HASHREMOVE_LONG_I1;
if(!qbevent)break;evnt(24223,237,"hash.bas");}while(r);
do{
*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I1)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+8))= 0 ;
if(!qbevent)break;evnt(24223,238,"hash.bas");}while(r);
}
}else{
do{
*_SUB_HASHREMOVE_LONG_X=((int32*)(__ARRAY_LONG_HASHTABLE[0]))[array_check((FUNC_HASHVALUE(qbs_new_fixed(&((uint8*)(__ARRAY_STRING256_HASHLISTNAME[0]))[(array_check((*_SUB_HASHREMOVE_LONG_I)-__ARRAY_STRING256_HASHLISTNAME[4],__ARRAY_STRING256_HASHLISTNAME[5]))*256],256,1)))-__ARRAY_LONG_HASHTABLE[4],__ARRAY_LONG_HASHTABLE[5])];
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24223,242,"hash.bas");}while(r);
do{
*_SUB_HASHREMOVE_LONG_I2=*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+8));
if(!qbevent)break;evnt(24223,243,"hash.bas");}while(r);
S_36206:;
if ((*_SUB_HASHREMOVE_LONG_I2)||is_error_pending()){
if(qbevent){evnt(24223,244,"hash.bas");if(r)goto S_36206;}
do{
tmp_long=array_check((*_SUB_HASHREMOVE_LONG_X)-__ARRAY_LONG_HASHTABLE[4],__ARRAY_LONG_HASHTABLE[5]);
if (!is_error_pending()) ((int32*)(__ARRAY_LONG_HASHTABLE[0]))[tmp_long]=*_SUB_HASHREMOVE_LONG_I2;
if(!qbevent)break;evnt(24223,246,"hash.bas");}while(r);
do{
*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I2)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+12))= 0 ;
if(!qbevent)break;evnt(24223,247,"hash.bas");}while(r);
do{
*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I2)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+16))=*(int32*)(((char*)__ARRAY_UDT_HASHLIST[0])+((array_check((*_SUB_HASHREMOVE_LONG_I)-__ARRAY_UDT_HASHLIST[4],__ARRAY_UDT_HASHLIST[5]))*20+16));
if(!qbevent)break;evnt(24223,248,"hash.bas");}while(r);
}else{
do{
tmp_long=array_check((*_SUB_HASHREMOVE_LONG_X)-__ARRAY_LONG_HASHTABLE[4],__ARRAY_LONG_HASHTABLE[5]);
if (!is_error_pending()) ((int32*)(__ARRAY_LONG_HASHTABLE[0]))[tmp_long]= 0 ;
if(!qbevent)break;evnt(24223,251,"hash.bas");}while(r);
}
}
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free207.txt"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
cmem_sp=tmp_cmem_sp;
}
