#line 20 "utilities/file.bas"
qbs* FUNC_GETFILEPATH(qbs*_FUNC_GETFILEPATH_STRING_F){
#line 20 "utilities/file.bas"
qbs *tqbs;
#line 20 "utilities/file.bas"
ptrszint tmp_long;
#line 20 "utilities/file.bas"
int32 tmp_fileno;
#line 20 "utilities/file.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 20 "utilities/file.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 20 "utilities/file.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 20 "utilities/file.bas"
#include "data154.txt"
#line 20 "utilities/file.bas"
mem_lock *sf_mem_lock;
#line 20 "utilities/file.bas"
new_mem_lock();
#line 20 "utilities/file.bas"
sf_mem_lock=mem_lock_tmp;
#line 20 "utilities/file.bas"
sf_mem_lock->type=3;
#line 20 "utilities/file.bas"
libqb_check_stack();
#line 20 "utilities/file.bas"
if (is_error_pending()) goto exit_subfunc;
#line 21 "utilities/file.bas"
S_38310:;
#line 21 "utilities/file.bas"
fornext_value3719=_FUNC_GETFILEPATH_STRING_F->len;
#line 21 "utilities/file.bas"
fornext_finalvalue3719= 1 ;
#line 21 "utilities/file.bas"
fornext_step3719= -1 ;
#line 21 "utilities/file.bas"
if (fornext_step3719<0) fornext_step_negative3719=1; else fornext_step_negative3719=0;
#line 21 "utilities/file.bas"
if (is_error_pending()) goto fornext_error3719;
#line 21 "utilities/file.bas"
goto fornext_entrylabel3719;
#line 21 "utilities/file.bas"
while(1){
#line 21 "utilities/file.bas"
fornext_value3719=fornext_step3719+(*_FUNC_GETFILEPATH_LONG_I);
#line 21 "utilities/file.bas"
fornext_entrylabel3719:
#line 21 "utilities/file.bas"
*_FUNC_GETFILEPATH_LONG_I=fornext_value3719;
#line 21 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 21 "utilities/file.bas"
if (fornext_step_negative3719){
#line 21 "utilities/file.bas"
if (fornext_value3719<fornext_finalvalue3719) break;
#line 21 "utilities/file.bas"
}else{
#line 21 "utilities/file.bas"
if (fornext_value3719>fornext_finalvalue3719) break;
#line 21 "utilities/file.bas"
}
#line 21 "utilities/file.bas"
fornext_error3719:;
#line 21 "utilities/file.bas"
if(qbevent){evnt(28800,21,"file.bas");if(r)goto S_38310;}
#line 22 "utilities/file.bas"
do{
#line 22 "utilities/file.bas"
qbs_set(_FUNC_GETFILEPATH_STRING_A,func_mid(_FUNC_GETFILEPATH_STRING_F,*_FUNC_GETFILEPATH_LONG_I, 1 ,0|1));
#line 22 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 22 "utilities/file.bas"
if(!qbevent)break;evnt(28800,22,"file.bas");}while(r);
#line 23 "utilities/file.bas"
S_38312:;
#line 23 "utilities/file.bas"
if ((qbs_cleanup(qbs_tmp_base,(qbs_equal(_FUNC_GETFILEPATH_STRING_A,qbs_new_txt_len("/",1)))|(qbs_equal(_FUNC_GETFILEPATH_STRING_A,qbs_new_txt_len("\\",1)))))||is_error_pending()){
#line 23 "utilities/file.bas"
if(qbevent){evnt(28800,23,"file.bas");if(r)goto S_38312;}
#line 24 "utilities/file.bas"
do{
#line 24 "utilities/file.bas"
qbs_set(_FUNC_GETFILEPATH_STRING_GETFILEPATH,qbs_left(_FUNC_GETFILEPATH_STRING_F,*_FUNC_GETFILEPATH_LONG_I));
#line 24 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 24 "utilities/file.bas"
if(!qbevent)break;evnt(28800,24,"file.bas");}while(r);
#line 25 "utilities/file.bas"
do{
#line 25 "utilities/file.bas"
goto exit_subfunc;
#line 25 "utilities/file.bas"
if(!qbevent)break;evnt(28800,25,"file.bas");}while(r);
#line 26 "utilities/file.bas"
}
#line 27 "utilities/file.bas"
fornext_continue_3718:;
#line 27 "utilities/file.bas"
}
#line 27 "utilities/file.bas"
fornext_exit_3718:;
#line 28 "utilities/file.bas"
do{
#line 28 "utilities/file.bas"
qbs_set(_FUNC_GETFILEPATH_STRING_GETFILEPATH,qbs_new_txt_len("",0));
#line 28 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 28 "utilities/file.bas"
if(!qbevent)break;evnt(28800,28,"file.bas");}while(r);
#line 29 "utilities/file.bas"
exit_subfunc:;
#line 29 "utilities/file.bas"
free_mem_lock(sf_mem_lock);
#line 29 "utilities/file.bas"
#include "free154.txt"
#line 29 "utilities/file.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 29 "utilities/file.bas"
cmem_sp=tmp_cmem_sp;
#line 29 "utilities/file.bas"
qbs_maketmp(_FUNC_GETFILEPATH_STRING_GETFILEPATH);return _FUNC_GETFILEPATH_STRING_GETFILEPATH;
#line 29 "utilities/file.bas"
}
