#line 184 "utilities/elements.bas"
void SUB_REMOVEELEMENTS(qbs*_SUB_REMOVEELEMENTS_STRING_A,int32*_SUB_REMOVEELEMENTS_LONG_FIRST,int32*_SUB_REMOVEELEMENTS_LONG_LAST,int32*_SUB_REMOVEELEMENTS_LONG_KEEPINDEXING){
#line 184 "utilities/elements.bas"
qbs *tqbs;
#line 184 "utilities/elements.bas"
ptrszint tmp_long;
#line 184 "utilities/elements.bas"
int32 tmp_fileno;
#line 184 "utilities/elements.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 184 "utilities/elements.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 184 "utilities/elements.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 184 "utilities/elements.bas"
#include "data177.txt"
#line 184 "utilities/elements.bas"
mem_lock *sf_mem_lock;
#line 184 "utilities/elements.bas"
new_mem_lock();
#line 184 "utilities/elements.bas"
sf_mem_lock=mem_lock_tmp;
#line 184 "utilities/elements.bas"
sf_mem_lock->type=3;
#line 184 "utilities/elements.bas"
libqb_check_stack();
#line 184 "utilities/elements.bas"
if (is_error_pending()) goto exit_subfunc;
#line 185 "utilities/elements.bas"
do{
#line 185 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,185,"elements.bas");}while(r);
#line 187 "utilities/elements.bas"
do{
#line 187 "utilities/elements.bas"
qbs_set(_SUB_REMOVEELEMENTS_STRING_A2,qbs_new_txt_len("",0));
#line 187 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 187 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,187,"elements.bas");}while(r);
#line 192 "utilities/elements.bas"
do{
#line 192 "utilities/elements.bas"
*_SUB_REMOVEELEMENTS_LONG_N=FUNC_NUMELEMENTS(_SUB_REMOVEELEMENTS_STRING_A);
#line 192 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 192 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,192,"elements.bas");}while(r);
#line 193 "utilities/elements.bas"
do{
#line 193 "utilities/elements.bas"
*_SUB_REMOVEELEMENTS_LONG_P= 1 ;
#line 193 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,193,"elements.bas");}while(r);
#line 194 "utilities/elements.bas"
S_38613:;
#line 194 "utilities/elements.bas"
fornext_value3790= 1 ;
#line 194 "utilities/elements.bas"
fornext_finalvalue3790=*_SUB_REMOVEELEMENTS_LONG_N;
#line 194 "utilities/elements.bas"
fornext_step3790= 1 ;
#line 194 "utilities/elements.bas"
if (fornext_step3790<0) fornext_step_negative3790=1; else fornext_step_negative3790=0;
#line 194 "utilities/elements.bas"
if (is_error_pending()) goto fornext_error3790;
#line 194 "utilities/elements.bas"
goto fornext_entrylabel3790;
#line 194 "utilities/elements.bas"
while(1){
#line 194 "utilities/elements.bas"
fornext_value3790=fornext_step3790+(*_SUB_REMOVEELEMENTS_LONG_I);
#line 194 "utilities/elements.bas"
fornext_entrylabel3790:
#line 194 "utilities/elements.bas"
*_SUB_REMOVEELEMENTS_LONG_I=fornext_value3790;
#line 194 "utilities/elements.bas"
if (fornext_step_negative3790){
#line 194 "utilities/elements.bas"
if (fornext_value3790<fornext_finalvalue3790) break;
#line 194 "utilities/elements.bas"
}else{
#line 194 "utilities/elements.bas"
if (fornext_value3790>fornext_finalvalue3790) break;
#line 194 "utilities/elements.bas"
}
#line 194 "utilities/elements.bas"
fornext_error3790:;
#line 194 "utilities/elements.bas"
if(qbevent){evnt(28802,194,"elements.bas");if(r)goto S_38613;}
#line 195 "utilities/elements.bas"
do{
#line 195 "utilities/elements.bas"
*_SUB_REMOVEELEMENTS_LONG_Q=func_instr(*_SUB_REMOVEELEMENTS_LONG_P,_SUB_REMOVEELEMENTS_STRING_A,__STRING1_SP,0|1);
#line 195 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 195 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,195,"elements.bas");}while(r);
#line 196 "utilities/elements.bas"
S_38615:;
#line 196 "utilities/elements.bas"
if ((-(*_SUB_REMOVEELEMENTS_LONG_Q== 0 ))||is_error_pending()){
#line 196 "utilities/elements.bas"
if(qbevent){evnt(28802,196,"elements.bas");if(r)goto S_38615;}
#line 196 "utilities/elements.bas"
do{
#line 196 "utilities/elements.bas"
*_SUB_REMOVEELEMENTS_LONG_Q=_SUB_REMOVEELEMENTS_STRING_A->len+ 1 ;
#line 196 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 196 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,196,"elements.bas");}while(r);
#line 196 "utilities/elements.bas"
}
#line 198 "utilities/elements.bas"
S_38618:;
#line 198 "utilities/elements.bas"
if (((-(*_SUB_REMOVEELEMENTS_LONG_I<*_SUB_REMOVEELEMENTS_LONG_FIRST))|(-(*_SUB_REMOVEELEMENTS_LONG_I>*_SUB_REMOVEELEMENTS_LONG_LAST)))||is_error_pending()){
#line 198 "utilities/elements.bas"
if(qbevent){evnt(28802,198,"elements.bas");if(r)goto S_38618;}
#line 199 "utilities/elements.bas"
do{
#line 199 "utilities/elements.bas"
qbs_set(_SUB_REMOVEELEMENTS_STRING_A2,qbs_add(qbs_add(_SUB_REMOVEELEMENTS_STRING_A2,__STRING1_SP),func_mid(_SUB_REMOVEELEMENTS_STRING_A,*_SUB_REMOVEELEMENTS_LONG_P,*_SUB_REMOVEELEMENTS_LONG_Q-*_SUB_REMOVEELEMENTS_LONG_P,0|1)));
#line 199 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 199 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,199,"elements.bas");}while(r);
#line 200 "utilities/elements.bas"
}else{
#line 201 "utilities/elements.bas"
S_38621:;
#line 201 "utilities/elements.bas"
if ((*_SUB_REMOVEELEMENTS_LONG_KEEPINDEXING)||is_error_pending()){
#line 201 "utilities/elements.bas"
if(qbevent){evnt(28802,201,"elements.bas");if(r)goto S_38621;}
#line 201 "utilities/elements.bas"
do{
#line 201 "utilities/elements.bas"
qbs_set(_SUB_REMOVEELEMENTS_STRING_A2,qbs_add(_SUB_REMOVEELEMENTS_STRING_A2,__STRING1_SP));
#line 201 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 201 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,201,"elements.bas");}while(r);
#line 201 "utilities/elements.bas"
}
#line 202 "utilities/elements.bas"
}
#line 204 "utilities/elements.bas"
do{
#line 204 "utilities/elements.bas"
*_SUB_REMOVEELEMENTS_LONG_P=*_SUB_REMOVEELEMENTS_LONG_Q+ 1 ;
#line 204 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,204,"elements.bas");}while(r);
#line 205 "utilities/elements.bas"
fornext_continue_3789:;
#line 205 "utilities/elements.bas"
}
#line 205 "utilities/elements.bas"
fornext_exit_3789:;
#line 206 "utilities/elements.bas"
S_38627:;
#line 206 "utilities/elements.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(qbs_left(_SUB_REMOVEELEMENTS_STRING_A2, 1 ),__STRING1_SP)))||is_error_pending()){
#line 206 "utilities/elements.bas"
if(qbevent){evnt(28802,206,"elements.bas");if(r)goto S_38627;}
#line 206 "utilities/elements.bas"
do{
#line 206 "utilities/elements.bas"
qbs_set(_SUB_REMOVEELEMENTS_STRING_A2,qbs_right(_SUB_REMOVEELEMENTS_STRING_A2,_SUB_REMOVEELEMENTS_STRING_A2->len- 1 ));
#line 206 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 206 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,206,"elements.bas");}while(r);
#line 206 "utilities/elements.bas"
}
#line 208 "utilities/elements.bas"
do{
#line 208 "utilities/elements.bas"
qbs_set(_SUB_REMOVEELEMENTS_STRING_A,_SUB_REMOVEELEMENTS_STRING_A2);
#line 208 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 208 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,208,"elements.bas");}while(r);
#line 210 "utilities/elements.bas"
exit_subfunc:;
#line 210 "utilities/elements.bas"
free_mem_lock(sf_mem_lock);
#line 210 "utilities/elements.bas"
#include "free177.txt"
#line 210 "utilities/elements.bas"
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;
#line 210 "utilities/elements.bas"
cmem_sp=tmp_cmem_sp;
#line 210 "utilities/elements.bas"
}
