#line 152 "utilities/type.bas"
int32 FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM(qbs*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_DESCRIPTOR,int32*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION,int32*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_LOWER_BOUND,int32*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_ELEMENT_COUNT){
#line 152 "utilities/type.bas"
qbs *tqbs;
#line 152 "utilities/type.bas"
ptrszint tmp_long;
#line 152 "utilities/type.bas"
int32 tmp_fileno;
#line 152 "utilities/type.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 152 "utilities/type.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 152 "utilities/type.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 152 "utilities/type.bas"
#include "data286.txt"
#line 152 "utilities/type.bas"
mem_lock *sf_mem_lock;
#line 152 "utilities/type.bas"
new_mem_lock();
#line 152 "utilities/type.bas"
sf_mem_lock=mem_lock_tmp;
#line 152 "utilities/type.bas"
sf_mem_lock->type=3;
#line 152 "utilities/type.bas"
libqb_check_stack();
#line 152 "utilities/type.bas"
if (is_error_pending()) goto exit_subfunc;
#line 153 "utilities/type.bas"
S_42172:;
#line 153 "utilities/type.bas"
if ((-(*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION<= 0 ))||is_error_pending()){
#line 153 "utilities/type.bas"
if(qbevent){evnt(28809,153,"type.bas");if(r)goto S_42172;}
#line 153 "utilities/type.bas"
do{
#line 153 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION= 1 ;
#line 153 "utilities/type.bas"
if(!qbevent)break;evnt(28809,153,"type.bas");}while(r);
#line 153 "utilities/type.bas"
}
#line 154 "utilities/type.bas"
S_42175:;
#line 154 "utilities/type.bas"
if ((qbs_cleanup(qbs_tmp_base,-(*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION>_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_DESCRIPTOR->len)))||is_error_pending()){
#line 154 "utilities/type.bas"
if(qbevent){evnt(28809,154,"type.bas");if(r)goto S_42175;}
#line 154 "utilities/type.bas"
do{
#line 154 "utilities/type.bas"
goto exit_subfunc;
#line 154 "utilities/type.bas"
if(!qbevent)break;evnt(28809,154,"type.bas");}while(r);
#line 154 "utilities/type.bas"
}
#line 156 "utilities/type.bas"
do{
#line 156 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_NEXT_SEPARATOR=func_instr(*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION,_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_DESCRIPTOR,qbs_new_txt_len(";",1),0|1);
#line 156 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 156 "utilities/type.bas"
if(!qbevent)break;evnt(28809,156,"type.bas");}while(r);
#line 157 "utilities/type.bas"
S_42179:;
#line 157 "utilities/type.bas"
if ((*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_NEXT_SEPARATOR)||is_error_pending()){
#line 157 "utilities/type.bas"
if(qbevent){evnt(28809,157,"type.bas");if(r)goto S_42179;}
#line 158 "utilities/type.bas"
do{
#line 158 "utilities/type.bas"
qbs_set(_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_PAIR,func_mid(_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_DESCRIPTOR,*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION,*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_NEXT_SEPARATOR-*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION,0|1));
#line 158 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 158 "utilities/type.bas"
if(!qbevent)break;evnt(28809,158,"type.bas");}while(r);
#line 159 "utilities/type.bas"
do{
#line 159 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION=*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_NEXT_SEPARATOR+ 1 ;
#line 159 "utilities/type.bas"
if(!qbevent)break;evnt(28809,159,"type.bas");}while(r);
#line 160 "utilities/type.bas"
}else{
#line 161 "utilities/type.bas"
do{
#line 161 "utilities/type.bas"
qbs_set(_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_PAIR,func_mid(_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_DESCRIPTOR,*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION,NULL,0));
#line 161 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 161 "utilities/type.bas"
if(!qbevent)break;evnt(28809,161,"type.bas");}while(r);
#line 162 "utilities/type.bas"
do{
#line 162 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_DESCRIPTOR_POSITION=_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_DESCRIPTOR->len+ 1 ;
#line 162 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 162 "utilities/type.bas"
if(!qbevent)break;evnt(28809,162,"type.bas");}while(r);
#line 163 "utilities/type.bas"
}
#line 165 "utilities/type.bas"
do{
#line 165 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_COMMA_POS=func_instr(NULL,_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_PAIR,qbs_new_txt_len(",",1),0);
#line 165 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 165 "utilities/type.bas"
if(!qbevent)break;evnt(28809,165,"type.bas");}while(r);
#line 166 "utilities/type.bas"
S_42187:;
#line 166 "utilities/type.bas"
if ((-(*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_COMMA_POS== 0 ))||is_error_pending()){
#line 166 "utilities/type.bas"
if(qbevent){evnt(28809,166,"type.bas");if(r)goto S_42187;}
#line 166 "utilities/type.bas"
do{
#line 166 "utilities/type.bas"
goto exit_subfunc;
#line 166 "utilities/type.bas"
if(!qbevent)break;evnt(28809,166,"type.bas");}while(r);
#line 166 "utilities/type.bas"
}
#line 168 "utilities/type.bas"
do{
#line 168 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_LOWER_BOUND=qbr(qbs_val<long double>(qbs_left(_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_PAIR,*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_COMMA_POS- 1 )));
#line 168 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 168 "utilities/type.bas"
if(!qbevent)break;evnt(28809,168,"type.bas");}while(r);
#line 169 "utilities/type.bas"
do{
#line 169 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_ELEMENT_COUNT=qbr(qbs_val<long double>(func_mid(_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_STRING_PAIR,*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_COMMA_POS+ 1 ,NULL,0)));
#line 169 "utilities/type.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 169 "utilities/type.bas"
if(!qbevent)break;evnt(28809,169,"type.bas");}while(r);
#line 170 "utilities/type.bas"
S_42192:;
#line 170 "utilities/type.bas"
if ((-(*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_ELEMENT_COUNT<= 0 ))||is_error_pending()){
#line 170 "utilities/type.bas"
if(qbevent){evnt(28809,170,"type.bas");if(r)goto S_42192;}
#line 170 "utilities/type.bas"
do{
#line 170 "utilities/type.bas"
goto exit_subfunc;
#line 170 "utilities/type.bas"
if(!qbevent)break;evnt(28809,170,"type.bas");}while(r);
#line 170 "utilities/type.bas"
}
#line 172 "utilities/type.bas"
do{
#line 172 "utilities/type.bas"
*_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_PARSENEXTUDTARRAYDESCRIPTORDIM= -1 ;
#line 172 "utilities/type.bas"
if(!qbevent)break;evnt(28809,172,"type.bas");}while(r);
#line 173 "utilities/type.bas"
exit_subfunc:;
#line 173 "utilities/type.bas"
free_mem_lock(sf_mem_lock);
#line 173 "utilities/type.bas"
#include "free286.txt"
#line 173 "utilities/type.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 173 "utilities/type.bas"
cmem_sp=tmp_cmem_sp;
#line 173 "utilities/type.bas"
return *_FUNC_PARSENEXTUDTARRAYDESCRIPTORDIM_LONG_PARSENEXTUDTARRAYDESCRIPTORDIM;
#line 173 "utilities/type.bas"
}
