qbs* FUNC_GETPREVELEMENT(qbs*_FUNC_GETPREVELEMENT_STRING_A,int32*_FUNC_GETPREVELEMENT_LONG_INDEX,int32*_FUNC_GETPREVELEMENT_LONG_STRINDEX){
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 "data108.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{
if(!qbevent)break;evnt(25752,68,"elements.bas");}while(r);
S_34154:;
if ((-(*_FUNC_GETPREVELEMENT_LONG_STRINDEX== 0 ))||is_error_pending()){
if(qbevent){evnt(25752,70,"elements.bas");if(r)goto S_34154;}
do{
*_FUNC_GETPREVELEMENT_LONG_STRINDEX=_FUNC_GETPREVELEMENT_STRING_A->len;
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25752,70,"elements.bas");}while(r);
do{
*_FUNC_GETPREVELEMENT_LONG_INDEX=FUNC_NUMELEMENTS(_FUNC_GETPREVELEMENT_STRING_A)+ 1 ;
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25752,70,"elements.bas");}while(r);
}
S_34158:;
if ((-(*_FUNC_GETPREVELEMENT_LONG_STRINDEX== -1 ))||is_error_pending()){
if(qbevent){evnt(25752,71,"elements.bas");if(r)goto S_34158;}
do{
*_FUNC_GETPREVELEMENT_LONG_INDEX= -1 ;
if(!qbevent)break;evnt(25752,71,"elements.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(25752,71,"elements.bas");}while(r);
}
S_34162:;
if ((-(*_FUNC_GETPREVELEMENT_LONG_STRINDEX> 0 ))||is_error_pending()){
if(qbevent){evnt(25752,73,"elements.bas");if(r)goto S_34162;}
do{
*_FUNC_GETPREVELEMENT_LONG_I=func__instrrev(*_FUNC_GETPREVELEMENT_LONG_STRINDEX,_FUNC_GETPREVELEMENT_STRING_A,__STRING1_SP,0|1);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25752,73,"elements.bas");}while(r);
}
S_34165:;
if ((*_FUNC_GETPREVELEMENT_LONG_I)||is_error_pending()){
if(qbevent){evnt(25752,75,"elements.bas");if(r)goto S_34165;}
do{
qbs_set(_FUNC_GETPREVELEMENT_STRING_GETPREVELEMENT,func_mid(_FUNC_GETPREVELEMENT_STRING_A,*_FUNC_GETPREVELEMENT_LONG_I+ 1 ,*_FUNC_GETPREVELEMENT_LONG_STRINDEX-*_FUNC_GETPREVELEMENT_LONG_I,0|1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25752,76,"elements.bas");}while(r);
do{
*_FUNC_GETPREVELEMENT_LONG_STRINDEX=*_FUNC_GETPREVELEMENT_LONG_I- 1 ;
if(!qbevent)break;evnt(25752,77,"elements.bas");}while(r);
do{
*_FUNC_GETPREVELEMENT_LONG_INDEX=*_FUNC_GETPREVELEMENT_LONG_INDEX- 1 ;
if(!qbevent)break;evnt(25752,78,"elements.bas");}while(r);
S_34169:;
if ((-(*_FUNC_GETPREVELEMENT_LONG_STRINDEX== 0 ))||is_error_pending()){
if(qbevent){evnt(25752,82,"elements.bas");if(r)goto S_34169;}
do{
*_FUNC_GETPREVELEMENT_LONG_STRINDEX= -2 ;
if(!qbevent)break;evnt(25752,82,"elements.bas");}while(r);
}
S_34172:;
}else{
if (-(*_FUNC_GETPREVELEMENT_LONG_STRINDEX!= -1 )){
if(qbevent){evnt(25752,83,"elements.bas");if(r)goto S_34172;}
do{
qbs_set(_FUNC_GETPREVELEMENT_STRING_GETPREVELEMENT,func_mid(_FUNC_GETPREVELEMENT_STRING_A, 1 ,*_FUNC_GETPREVELEMENT_LONG_STRINDEX,0|1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25752,84,"elements.bas");}while(r);
do{
*_FUNC_GETPREVELEMENT_LONG_STRINDEX= -1 ;
if(!qbevent)break;evnt(25752,85,"elements.bas");}while(r);
do{
*_FUNC_GETPREVELEMENT_LONG_INDEX=*_FUNC_GETPREVELEMENT_LONG_INDEX- 1 ;
if(!qbevent)break;evnt(25752,86,"elements.bas");}while(r);
}else{
do{
*_FUNC_GETPREVELEMENT_LONG_INDEX= -1 ;
if(!qbevent)break;evnt(25752,88,"elements.bas");}while(r);
}
}
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free108.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;
qbs_maketmp(_FUNC_GETPREVELEMENT_STRING_GETPREVELEMENT);return _FUNC_GETPREVELEMENT_STRING_GETPREVELEMENT;
}
