#line 228 "utilities/const_eval.bas"
int32 FUNC_PARSESTRING(qbs*_FUNC_PARSESTRING_STRING_EXP,void*_FUNC_PARSESTRING_UDT_STATE){
#line 228 "utilities/const_eval.bas"
qbs *tqbs;
#line 228 "utilities/const_eval.bas"
ptrszint tmp_long;
#line 228 "utilities/const_eval.bas"
int32 tmp_fileno;
#line 228 "utilities/const_eval.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 228 "utilities/const_eval.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 228 "utilities/const_eval.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 228 "utilities/const_eval.bas"
#include "data244.txt"
#line 228 "utilities/const_eval.bas"
mem_lock *sf_mem_lock;
#line 228 "utilities/const_eval.bas"
new_mem_lock();
#line 228 "utilities/const_eval.bas"
sf_mem_lock=mem_lock_tmp;
#line 228 "utilities/const_eval.bas"
sf_mem_lock->type=3;
#line 228 "utilities/const_eval.bas"
libqb_check_stack();
#line 228 "utilities/const_eval.bas"
if (is_error_pending()) goto exit_subfunc;
#line 229 "utilities/const_eval.bas"
S_40717:;
#line 229 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 229 "utilities/const_eval.bas"
if(qbevent){evnt(28806,229,"const_eval.bas");if(r)goto S_40717;}
#line 229 "utilities/const_eval.bas"
do{
#line 229 "utilities/const_eval.bas"
sub__echo(qbs_new_txt_len("ParseString",11));
#line 229 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 229 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,229,"const_eval.bas");}while(r);
#line 229 "utilities/const_eval.bas"
}
#line 230 "utilities/const_eval.bas"
do{
#line 230 "utilities/const_eval.bas"
qbs_set(_FUNC_PARSESTRING_STRING_ELE,FUNC_PEEKNEXTELEMENT(_FUNC_PARSESTRING_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+4)) )));
#line 230 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 230 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,230,"const_eval.bas");}while(r);
#line 232 "utilities/const_eval.bas"
S_40721:;
#line 232 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,FUNC_ELEMENTISSTRING(_FUNC_PARSESTRING_STRING_ELE)))||is_error_pending()){
#line 232 "utilities/const_eval.bas"
if(qbevent){evnt(28806,232,"const_eval.bas");if(r)goto S_40721;}
#line 233 "utilities/const_eval.bas"
do{
#line 233 "utilities/const_eval.bas"
qbs_set(_FUNC_PARSESTRING_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_PARSESTRING_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+4)) )));
#line 233 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 233 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,233,"const_eval.bas");}while(r);
#line 235 "utilities/const_eval.bas"
do{
#line 235 "utilities/const_eval.bas"
SUB_PARSENUMSETS((void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+8)) ),_FUNC_PARSESTRING_STRING_ELE);
#line 235 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 235 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,235,"const_eval.bas");}while(r);
#line 237 "utilities/const_eval.bas"
do{
#line 237 "utilities/const_eval.bas"
*_FUNC_PARSESTRING_LONG_PARSESTRING= -1 ;
#line 237 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,237,"const_eval.bas");}while(r);
#line 238 "utilities/const_eval.bas"
}else{
#line 239 "utilities/const_eval.bas"
S_40726:;
#line 239 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,FUNC_PARSENUMHASHLOOKUP(_FUNC_PARSESTRING_STRING_ELE,(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+0)) ))))||is_error_pending()){
#line 239 "utilities/const_eval.bas"
if(qbevent){evnt(28806,239,"const_eval.bas");if(r)goto S_40726;}
#line 240 "utilities/const_eval.bas"
S_40727:;
#line 240 "utilities/const_eval.bas"
if ((-((*(int32*)(((char*)_FUNC_PARSESTRING_UDT_STATE)+((0+64)))&*__LONG_ISSTRING)== 0 ))||is_error_pending()){
#line 240 "utilities/const_eval.bas"
if(qbevent){evnt(28806,240,"const_eval.bas");if(r)goto S_40727;}
#line 240 "utilities/const_eval.bas"
do{
#line 240 "utilities/const_eval.bas"
qbs_set(*((qbs**)((char*)(_FUNC_PARSESTRING_UDT_STATE)+((0+68)))),qbs_new_txt_len("ERROR - Expecting a string value",32));
#line 240 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 240 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,240,"const_eval.bas");}while(r);
#line 240 "utilities/const_eval.bas"
do{
#line 240 "utilities/const_eval.bas"
goto exit_subfunc;
#line 240 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,240,"const_eval.bas");}while(r);
#line 240 "utilities/const_eval.bas"
}
#line 242 "utilities/const_eval.bas"
do{
#line 242 "utilities/const_eval.bas"
qbs_set(_FUNC_PARSESTRING_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_PARSESTRING_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_PARSESTRING_UDT_STATE)) + ((0+4)) )));
#line 242 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 242 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,242,"const_eval.bas");}while(r);
#line 243 "utilities/const_eval.bas"
do{
#line 243 "utilities/const_eval.bas"
*_FUNC_PARSESTRING_LONG_PARSESTRING= -1 ;
#line 243 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,243,"const_eval.bas");}while(r);
#line 244 "utilities/const_eval.bas"
do{
#line 244 "utilities/const_eval.bas"
goto exit_subfunc;
#line 244 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,244,"const_eval.bas");}while(r);
#line 245 "utilities/const_eval.bas"
}
#line 247 "utilities/const_eval.bas"
do{
#line 247 "utilities/const_eval.bas"
qbs_set(*((qbs**)((char*)(_FUNC_PARSESTRING_UDT_STATE)+((0+68)))),qbs_add(qbs_add(qbs_new_txt_len("ERROR - Unexpected element '",28),_FUNC_PARSESTRING_STRING_ELE),qbs_new_txt_len("'",1)));
#line 247 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 247 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,247,"const_eval.bas");}while(r);
#line 248 "utilities/const_eval.bas"
}
#line 249 "utilities/const_eval.bas"
exit_subfunc:;
#line 249 "utilities/const_eval.bas"
free_mem_lock(sf_mem_lock);
#line 249 "utilities/const_eval.bas"
#include "free244.txt"
#line 249 "utilities/const_eval.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 249 "utilities/const_eval.bas"
cmem_sp=tmp_cmem_sp;
#line 249 "utilities/const_eval.bas"
return *_FUNC_PARSESTRING_LONG_PARSESTRING;
#line 249 "utilities/const_eval.bas"
}
