#line 61 "utilities/file.bas"
qbs* FUNC_GETFILEEXTENSION(qbs*_FUNC_GETFILEEXTENSION_STRING_F){
#line 61 "utilities/file.bas"
qbs *tqbs;
#line 61 "utilities/file.bas"
ptrszint tmp_long;
#line 61 "utilities/file.bas"
int32 tmp_fileno;
#line 61 "utilities/file.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 61 "utilities/file.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 61 "utilities/file.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 61 "utilities/file.bas"
#include "data157.txt"
#line 61 "utilities/file.bas"
mem_lock *sf_mem_lock;
#line 61 "utilities/file.bas"
new_mem_lock();
#line 61 "utilities/file.bas"
sf_mem_lock=mem_lock_tmp;
#line 61 "utilities/file.bas"
sf_mem_lock->type=3;
#line 61 "utilities/file.bas"
libqb_check_stack();
#line 61 "utilities/file.bas"
if (is_error_pending()) goto exit_subfunc;
#line 62 "utilities/file.bas"
S_38339:;
#line 62 "utilities/file.bas"
fornext_value3731=_FUNC_GETFILEEXTENSION_STRING_F->len;
#line 62 "utilities/file.bas"
fornext_finalvalue3731= 1 ;
#line 62 "utilities/file.bas"
fornext_step3731= -1 ;
#line 62 "utilities/file.bas"
if (fornext_step3731<0) fornext_step_negative3731=1; else fornext_step_negative3731=0;
#line 62 "utilities/file.bas"
if (is_error_pending()) goto fornext_error3731;
#line 62 "utilities/file.bas"
goto fornext_entrylabel3731;
#line 62 "utilities/file.bas"
while(1){
#line 62 "utilities/file.bas"
fornext_value3731=fornext_step3731+(*_FUNC_GETFILEEXTENSION_LONG_I);
#line 62 "utilities/file.bas"
fornext_entrylabel3731:
#line 62 "utilities/file.bas"
*_FUNC_GETFILEEXTENSION_LONG_I=fornext_value3731;
#line 62 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 62 "utilities/file.bas"
if (fornext_step_negative3731){
#line 62 "utilities/file.bas"
if (fornext_value3731<fornext_finalvalue3731) break;
#line 62 "utilities/file.bas"
}else{
#line 62 "utilities/file.bas"
if (fornext_value3731>fornext_finalvalue3731) break;
#line 62 "utilities/file.bas"
}
#line 62 "utilities/file.bas"
fornext_error3731:;
#line 62 "utilities/file.bas"
if(qbevent){evnt(28800,62,"file.bas");if(r)goto S_38339;}
#line 63 "utilities/file.bas"
do{
#line 63 "utilities/file.bas"
*_FUNC_GETFILEEXTENSION_LONG_A=qbs_asc(_FUNC_GETFILEEXTENSION_STRING_F,*_FUNC_GETFILEEXTENSION_LONG_I);
#line 63 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 63 "utilities/file.bas"
if(!qbevent)break;evnt(28800,63,"file.bas");}while(r);
#line 64 "utilities/file.bas"
S_38341:;
#line 64 "utilities/file.bas"
if (((-(*_FUNC_GETFILEEXTENSION_LONG_A== 47 ))|(-(*_FUNC_GETFILEEXTENSION_LONG_A== 92 )))||is_error_pending()){
#line 64 "utilities/file.bas"
if(qbevent){evnt(28800,64,"file.bas");if(r)goto S_38341;}
#line 64 "utilities/file.bas"
do{
#line 64 "utilities/file.bas"
goto fornext_exit_3730;
#line 64 "utilities/file.bas"
if(!qbevent)break;evnt(28800,64,"file.bas");}while(r);
#line 64 "utilities/file.bas"
}
#line 65 "utilities/file.bas"
S_38344:;
#line 65 "utilities/file.bas"
if ((-(*_FUNC_GETFILEEXTENSION_LONG_A== 46 ))||is_error_pending()){
#line 65 "utilities/file.bas"
if(qbevent){evnt(28800,65,"file.bas");if(r)goto S_38344;}
#line 65 "utilities/file.bas"
do{
#line 65 "utilities/file.bas"
qbs_set(_FUNC_GETFILEEXTENSION_STRING_GETFILEEXTENSION,func_mid(_FUNC_GETFILEEXTENSION_STRING_F,*_FUNC_GETFILEEXTENSION_LONG_I+ 1 ,NULL,0));
#line 65 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 65 "utilities/file.bas"
if(!qbevent)break;evnt(28800,65,"file.bas");}while(r);
#line 65 "utilities/file.bas"
do{
#line 65 "utilities/file.bas"
goto exit_subfunc;
#line 65 "utilities/file.bas"
if(!qbevent)break;evnt(28800,65,"file.bas");}while(r);
#line 65 "utilities/file.bas"
}
#line 66 "utilities/file.bas"
fornext_continue_3730:;
#line 66 "utilities/file.bas"
}
#line 66 "utilities/file.bas"
fornext_exit_3730:;
#line 67 "utilities/file.bas"
do{
#line 67 "utilities/file.bas"
qbs_set(_FUNC_GETFILEEXTENSION_STRING_GETFILEEXTENSION,qbs_new_txt_len("",0));
#line 67 "utilities/file.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 67 "utilities/file.bas"
if(!qbevent)break;evnt(28800,67,"file.bas");}while(r);
#line 68 "utilities/file.bas"
exit_subfunc:;
#line 68 "utilities/file.bas"
free_mem_lock(sf_mem_lock);
#line 68 "utilities/file.bas"
#include "free157.txt"
#line 68 "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 68 "utilities/file.bas"
cmem_sp=tmp_cmem_sp;
#line 68 "utilities/file.bas"
qbs_maketmp(_FUNC_GETFILEEXTENSION_STRING_GETFILEEXTENSION);return _FUNC_GETFILEEXTENSION_STRING_GETFILEEXTENSION;
#line 68 "utilities/file.bas"
}
