#line 33 "utilities/elements.bas"
qbs* FUNC_GETNEXTELEMENT(qbs*_FUNC_GETNEXTELEMENT_STRING_A,int32*_FUNC_GETNEXTELEMENT_LONG_INDEX,int32*_FUNC_GETNEXTELEMENT_LONG_STRINDEX){
#line 33 "utilities/elements.bas"
qbs *tqbs;
#line 33 "utilities/elements.bas"
ptrszint tmp_long;
#line 33 "utilities/elements.bas"
int32 tmp_fileno;
#line 33 "utilities/elements.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 33 "utilities/elements.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 33 "utilities/elements.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 33 "utilities/elements.bas"
#include "data168.txt"
#line 33 "utilities/elements.bas"
mem_lock *sf_mem_lock;
#line 33 "utilities/elements.bas"
new_mem_lock();
#line 33 "utilities/elements.bas"
sf_mem_lock=mem_lock_tmp;
#line 33 "utilities/elements.bas"
sf_mem_lock->type=3;
#line 33 "utilities/elements.bas"
libqb_check_stack();
#line 33 "utilities/elements.bas"
if (is_error_pending()) goto exit_subfunc;
#line 34 "utilities/elements.bas"
do{
#line 34 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,34,"elements.bas");}while(r);
#line 36 "utilities/elements.bas"
S_38487:;
#line 36 "utilities/elements.bas"
if ((-(*_FUNC_GETNEXTELEMENT_LONG_STRINDEX== 0 ))||is_error_pending()){
#line 36 "utilities/elements.bas"
if(qbevent){evnt(28802,36,"elements.bas");if(r)goto S_38487;}
#line 36 "utilities/elements.bas"
do{
#line 36 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_STRINDEX= 1 ;
#line 36 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,36,"elements.bas");}while(r);
#line 36 "utilities/elements.bas"
}
#line 38 "utilities/elements.bas"
do{
#line 38 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_I=func_instr(*_FUNC_GETNEXTELEMENT_LONG_STRINDEX,_FUNC_GETNEXTELEMENT_STRING_A,__STRING1_SP,0|1);
#line 38 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 38 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,38,"elements.bas");}while(r);
#line 40 "utilities/elements.bas"
S_38491:;
#line 40 "utilities/elements.bas"
if ((*_FUNC_GETNEXTELEMENT_LONG_I)||is_error_pending()){
#line 40 "utilities/elements.bas"
if(qbevent){evnt(28802,40,"elements.bas");if(r)goto S_38491;}
#line 41 "utilities/elements.bas"
do{
#line 41 "utilities/elements.bas"
qbs_set(_FUNC_GETNEXTELEMENT_STRING_GETNEXTELEMENT,func_mid(_FUNC_GETNEXTELEMENT_STRING_A,*_FUNC_GETNEXTELEMENT_LONG_STRINDEX,*_FUNC_GETNEXTELEMENT_LONG_I-*_FUNC_GETNEXTELEMENT_LONG_STRINDEX,0|1));
#line 41 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 41 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,41,"elements.bas");}while(r);
#line 42 "utilities/elements.bas"
do{
#line 42 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_STRINDEX=*_FUNC_GETNEXTELEMENT_LONG_I+ 1 ;
#line 42 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,42,"elements.bas");}while(r);
#line 43 "utilities/elements.bas"
do{
#line 43 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_INDEX=*_FUNC_GETNEXTELEMENT_LONG_INDEX+ 1 ;
#line 43 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,43,"elements.bas");}while(r);
#line 44 "utilities/elements.bas"
S_38495:;
#line 44 "utilities/elements.bas"
}else{
#line 44 "utilities/elements.bas"
if (qbs_cleanup(qbs_tmp_base,-(*_FUNC_GETNEXTELEMENT_LONG_STRINDEX!=(_FUNC_GETNEXTELEMENT_STRING_A->len+ 1 )))){
#line 44 "utilities/elements.bas"
if(qbevent){evnt(28802,44,"elements.bas");if(r)goto S_38495;}
#line 45 "utilities/elements.bas"
do{
#line 45 "utilities/elements.bas"
qbs_set(_FUNC_GETNEXTELEMENT_STRING_GETNEXTELEMENT,func_mid(_FUNC_GETNEXTELEMENT_STRING_A,*_FUNC_GETNEXTELEMENT_LONG_STRINDEX,NULL,0));
#line 45 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 45 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,45,"elements.bas");}while(r);
#line 46 "utilities/elements.bas"
do{
#line 46 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_STRINDEX=_FUNC_GETNEXTELEMENT_STRING_A->len+ 1 ;
#line 46 "utilities/elements.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 46 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,46,"elements.bas");}while(r);
#line 47 "utilities/elements.bas"
do{
#line 47 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_INDEX=*_FUNC_GETNEXTELEMENT_LONG_INDEX+ 1 ;
#line 47 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,47,"elements.bas");}while(r);
#line 48 "utilities/elements.bas"
}else{
#line 49 "utilities/elements.bas"
do{
#line 49 "utilities/elements.bas"
*_FUNC_GETNEXTELEMENT_LONG_INDEX= -1 ;
#line 49 "utilities/elements.bas"
if(!qbevent)break;evnt(28802,49,"elements.bas");}while(r);
#line 50 "utilities/elements.bas"
}
#line 50 "utilities/elements.bas"
}
#line 51 "utilities/elements.bas"
exit_subfunc:;
#line 51 "utilities/elements.bas"
free_mem_lock(sf_mem_lock);
#line 51 "utilities/elements.bas"
#include "free168.txt"
#line 51 "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 51 "utilities/elements.bas"
cmem_sp=tmp_cmem_sp;
#line 51 "utilities/elements.bas"
qbs_maketmp(_FUNC_GETNEXTELEMENT_STRING_GETNEXTELEMENT);return _FUNC_GETNEXTELEMENT_STRING_GETNEXTELEMENT;
#line 51 "utilities/elements.bas"
}
