#line 22093 "qb64pe.bas"
qbs* FUNC_VARIABLESIZE(int32*_FUNC_VARIABLESIZE_LONG_I){
#line 22093 "qb64pe.bas"
qbs *tqbs;
#line 22093 "qb64pe.bas"
ptrszint tmp_long;
#line 22093 "qb64pe.bas"
int32 tmp_fileno;
#line 22093 "qb64pe.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 22093 "qb64pe.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 22093 "qb64pe.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 22093 "qb64pe.bas"
#include "data66.txt"
#line 22093 "qb64pe.bas"
mem_lock *sf_mem_lock;
#line 22093 "qb64pe.bas"
new_mem_lock();
#line 22093 "qb64pe.bas"
sf_mem_lock=mem_lock_tmp;
#line 22093 "qb64pe.bas"
sf_mem_lock->type=3;
#line 22093 "qb64pe.bas"
libqb_check_stack();
#line 22093 "qb64pe.bas"
if (is_error_pending()) goto exit_subfunc;
#line 22095 "qb64pe.bas"
S_25324:;
#line 22095 "qb64pe.bas"
if ((-(*_FUNC_VARIABLESIZE_LONG_I!= -1 ))||is_error_pending()){
#line 22095 "qb64pe.bas"
if(qbevent){evnt(22095);if(r)goto S_25324;}
#line 22095 "qb64pe.bas"
do{
#line 22095 "qb64pe.bas"
SUB_GETID(_FUNC_VARIABLESIZE_LONG_I);
#line 22095 "qb64pe.bas"
if(!qbevent)break;evnt(22095);}while(r);
#line 22095 "qb64pe.bas"
}
#line 22096 "qb64pe.bas"
S_25327:;
#line 22096 "qb64pe.bas"
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
#line 22096 "qb64pe.bas"
if(qbevent){evnt(22096);if(r)goto S_25327;}
#line 22096 "qb64pe.bas"
do{
#line 22096 "qb64pe.bas"
goto exit_subfunc;
#line 22096 "qb64pe.bas"
if(!qbevent)break;evnt(22096);}while(r);
#line 22096 "qb64pe.bas"
}
#line 22098 "qb64pe.bas"
do{
#line 22098 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_T=*(int32*)(((char*)__UDT_ID)+((0+540)));
#line 22098 "qb64pe.bas"
if(!qbevent)break;evnt(22098);}while(r);
#line 22098 "qb64pe.bas"
S_25331:;
#line 22098 "qb64pe.bas"
if ((-(*_FUNC_VARIABLESIZE_LONG_T== 0 ))||is_error_pending()){
#line 22098 "qb64pe.bas"
if(qbevent){evnt(22098);if(r)goto S_25331;}
#line 22098 "qb64pe.bas"
do{
#line 22098 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_T=*(int32*)(((char*)__UDT_ID)+((0+512)));
#line 22098 "qb64pe.bas"
if(!qbevent)break;evnt(22098);}while(r);
#line 22098 "qb64pe.bas"
}
#line 22099 "qb64pe.bas"
do{
#line 22099 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_BYTES=qb_safe_idiv((*_FUNC_VARIABLESIZE_LONG_T& 4095ll ), 8 );
#line 22099 "qb64pe.bas"
if(!qbevent)break;evnt(22099);}while(r);
#line 22101 "qb64pe.bas"
S_25335:;
#line 22101 "qb64pe.bas"
if ((*_FUNC_VARIABLESIZE_LONG_T&*__LONG_ISUDT)||is_error_pending()){
#line 22101 "qb64pe.bas"
if(qbevent){evnt(22101);if(r)goto S_25335;}
#line 22102 "qb64pe.bas"
do{
#line 22102 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_U=*_FUNC_VARIABLESIZE_LONG_T& 4095ll ;
#line 22102 "qb64pe.bas"
if(!qbevent)break;evnt(22102);}while(r);
#line 22103 "qb64pe.bas"
do{
#line 22103 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_BYTES=qb_safe_idiv(((int32*)(__ARRAY_LONG_UDTXSIZE[0]))[array_check((*_FUNC_VARIABLESIZE_LONG_U)-__ARRAY_LONG_UDTXSIZE[4],__ARRAY_LONG_UDTXSIZE[5])], 8 );
#line 22103 "qb64pe.bas"
if(!qbevent)break;evnt(22103);}while(r);
#line 22104 "qb64pe.bas"
S_25338:;
#line 22104 "qb64pe.bas"
if ((*(int16*)(((char*)__UDT_ID)+((0+520))))||is_error_pending()){
#line 22104 "qb64pe.bas"
if(qbevent){evnt(22104);if(r)goto S_25338;}
#line 22104 "qb64pe.bas"
do{
#line 22104 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_BYTES=qb_safe_idiv(FUNC_UDTDYNLAYOUTSIZE(_FUNC_VARIABLESIZE_LONG_U), 8 );
#line 22104 "qb64pe.bas"
if(!qbevent)break;evnt(22104);}while(r);
#line 22104 "qb64pe.bas"
}
#line 22105 "qb64pe.bas"
}
#line 22107 "qb64pe.bas"
S_25342:;
#line 22107 "qb64pe.bas"
if ((*_FUNC_VARIABLESIZE_LONG_T&*__LONG_ISSTRING)||is_error_pending()){
#line 22107 "qb64pe.bas"
if(qbevent){evnt(22107);if(r)goto S_25342;}
#line 22108 "qb64pe.bas"
S_25343:;
#line 22108 "qb64pe.bas"
if ((*_FUNC_VARIABLESIZE_LONG_T&*__LONG_ISFIXEDLENGTH)||is_error_pending()){
#line 22108 "qb64pe.bas"
if(qbevent){evnt(22108);if(r)goto S_25343;}
#line 22109 "qb64pe.bas"
do{
#line 22109 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_BYTES=*(int32*)(((char*)__UDT_ID)+((0+544)));
#line 22109 "qb64pe.bas"
if(!qbevent)break;evnt(22109);}while(r);
#line 22110 "qb64pe.bas"
}else{
#line 22111 "qb64pe.bas"
S_25346:;
#line 22111 "qb64pe.bas"
if ((*(int32*)(((char*)__UDT_ID)+((0+512))))||is_error_pending()){
#line 22111 "qb64pe.bas"
if(qbevent){evnt(22111);if(r)goto S_25346;}
#line 22111 "qb64pe.bas"
do{
#line 22111 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Cannot determine size of variable-length string array",53));
#line 22111 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22111 "qb64pe.bas"
if(!qbevent)break;evnt(22111);}while(r);
#line 22111 "qb64pe.bas"
do{
#line 22111 "qb64pe.bas"
goto exit_subfunc;
#line 22111 "qb64pe.bas"
if(!qbevent)break;evnt(22111);}while(r);
#line 22111 "qb64pe.bas"
}
#line 22112 "qb64pe.bas"
do{
#line 22112 "qb64pe.bas"
qbs_set(_FUNC_VARIABLESIZE_STRING_VARIABLESIZE,qbs_add(qbs_add(qbs_add(FUNC_SCOPE(),qbs_new_txt_len("STRING_",7)),qbs_rtrim(qbs_new_fixed((((uint8*)__UDT_ID)+((0+0))),256,1))),qbs_new_txt_len("->len",5)));
#line 22112 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22112 "qb64pe.bas"
if(!qbevent)break;evnt(22112);}while(r);
#line 22113 "qb64pe.bas"
do{
#line 22113 "qb64pe.bas"
goto exit_subfunc;
#line 22113 "qb64pe.bas"
if(!qbevent)break;evnt(22113);}while(r);
#line 22114 "qb64pe.bas"
}
#line 22115 "qb64pe.bas"
}
#line 22117 "qb64pe.bas"
S_25354:;
#line 22117 "qb64pe.bas"
if ((*(int32*)(((char*)__UDT_ID)+((0+512))))||is_error_pending()){
#line 22117 "qb64pe.bas"
if(qbevent){evnt(22117);if(r)goto S_25354;}
#line 22118 "qb64pe.bas"
do{
#line 22118 "qb64pe.bas"
qbs_set(_FUNC_VARIABLESIZE_STRING_N,qbs_rtrim(qbs_new_fixed((((uint8*)__UDT_ID)+((0+554))),256,1)));
#line 22118 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22118 "qb64pe.bas"
if(!qbevent)break;evnt(22118);}while(r);
#line 22119 "qb64pe.bas"
do{
#line 22119 "qb64pe.bas"
qbs_set(_FUNC_VARIABLESIZE_STRING_S,qbs_add(qbs_add(qbs_add(qbs__tostr((int32)(*_FUNC_VARIABLESIZE_LONG_BYTES),NULL,0),qbs_new_txt_len("*(",2)),_FUNC_VARIABLESIZE_STRING_N),qbs_new_txt_len("[2]&1)",6)));
#line 22119 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22119 "qb64pe.bas"
if(!qbevent)break;evnt(22119);}while(r);
#line 22120 "qb64pe.bas"
do{
#line 22120 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_ARRAYELEMENTS=*(int16*)(((char*)__UDT_ID)+((0+516)));
#line 22120 "qb64pe.bas"
if(!qbevent)break;evnt(22120);}while(r);
#line 22120 "qb64pe.bas"
S_25358:;
#line 22120 "qb64pe.bas"
if ((-(*_FUNC_VARIABLESIZE_LONG_ARRAYELEMENTS== -1 ))||is_error_pending()){
#line 22120 "qb64pe.bas"
if(qbevent){evnt(22120);if(r)goto S_25358;}
#line 22120 "qb64pe.bas"
do{
#line 22120 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_ARRAYELEMENTS= 1 ;
#line 22120 "qb64pe.bas"
if(!qbevent)break;evnt(22120);}while(r);
#line 22120 "qb64pe.bas"
}
#line 22121 "qb64pe.bas"
S_25361:;
#line 22121 "qb64pe.bas"
fornext_value2768= 1 ;
#line 22121 "qb64pe.bas"
fornext_finalvalue2768=*_FUNC_VARIABLESIZE_LONG_ARRAYELEMENTS;
#line 22121 "qb64pe.bas"
fornext_step2768= 1 ;
#line 22121 "qb64pe.bas"
if (fornext_step2768<0) fornext_step_negative2768=1; else fornext_step_negative2768=0;
#line 22121 "qb64pe.bas"
if (is_error_pending()) goto fornext_error2768;
#line 22121 "qb64pe.bas"
goto fornext_entrylabel2768;
#line 22121 "qb64pe.bas"
while(1){
#line 22121 "qb64pe.bas"
fornext_value2768=fornext_step2768+(*_FUNC_VARIABLESIZE_LONG_I2);
#line 22121 "qb64pe.bas"
fornext_entrylabel2768:
#line 22121 "qb64pe.bas"
*_FUNC_VARIABLESIZE_LONG_I2=fornext_value2768;
#line 22121 "qb64pe.bas"
if (fornext_step_negative2768){
#line 22121 "qb64pe.bas"
if (fornext_value2768<fornext_finalvalue2768) break;
#line 22121 "qb64pe.bas"
}else{
#line 22121 "qb64pe.bas"
if (fornext_value2768>fornext_finalvalue2768) break;
#line 22121 "qb64pe.bas"
}
#line 22121 "qb64pe.bas"
fornext_error2768:;
#line 22121 "qb64pe.bas"
if(qbevent){evnt(22121);if(r)goto S_25361;}
#line 22122 "qb64pe.bas"
do{
#line 22122 "qb64pe.bas"
qbs_set(_FUNC_VARIABLESIZE_STRING_S,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_VARIABLESIZE_STRING_S,qbs_new_txt_len("*",1)),_FUNC_VARIABLESIZE_STRING_N),qbs_new_txt_len("[",1)),qbs__tostr((int64)((*_FUNC_VARIABLESIZE_LONG_I2* 4 )-( 4 )+( 5 )),NULL,0)),qbs_new_txt_len("]",1)));
#line 22122 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22122 "qb64pe.bas"
if(!qbevent)break;evnt(22122);}while(r);
#line 22123 "qb64pe.bas"
fornext_continue_2767:;
#line 22123 "qb64pe.bas"
}
#line 22123 "qb64pe.bas"
fornext_exit_2767:;
#line 22124 "qb64pe.bas"
do{
#line 22124 "qb64pe.bas"
qbs_set(_FUNC_VARIABLESIZE_STRING_VARIABLESIZE,qbs_add(qbs_add(qbs_new_txt_len("(",1),_FUNC_VARIABLESIZE_STRING_S),qbs_new_txt_len(")",1)));
#line 22124 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22124 "qb64pe.bas"
if(!qbevent)break;evnt(22124);}while(r);
#line 22125 "qb64pe.bas"
do{
#line 22125 "qb64pe.bas"
goto exit_subfunc;
#line 22125 "qb64pe.bas"
if(!qbevent)break;evnt(22125);}while(r);
#line 22126 "qb64pe.bas"
}
#line 22128 "qb64pe.bas"
do{
#line 22128 "qb64pe.bas"
qbs_set(_FUNC_VARIABLESIZE_STRING_VARIABLESIZE,qbs__tostr((int32)(*_FUNC_VARIABLESIZE_LONG_BYTES),NULL,0));
#line 22128 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22128 "qb64pe.bas"
if(!qbevent)break;evnt(22128);}while(r);
#line 22129 "qb64pe.bas"
exit_subfunc:;
#line 22129 "qb64pe.bas"
free_mem_lock(sf_mem_lock);
#line 22129 "qb64pe.bas"
#include "free66.txt"
#line 22129 "qb64pe.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 22129 "qb64pe.bas"
cmem_sp=tmp_cmem_sp;
#line 22129 "qb64pe.bas"
qbs_maketmp(_FUNC_VARIABLESIZE_STRING_VARIABLESIZE);return _FUNC_VARIABLESIZE_STRING_VARIABLESIZE;
#line 22129 "qb64pe.bas"
}
