int16 FUNC_BINARYFORMATCHECK(qbs*_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK,qbs*_FUNC_BINARYFORMATCHECK_STRING_PATHSEPTOCHECK,qbs*_FUNC_BINARYFORMATCHECK_STRING_FILETOCHECK){
qbs *tqbs;
ptrszint tmp_long;
int32 tmp_fileno;
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
uint8 *tmp_mem_static_pointer=mem_static_pointer;
uint32 tmp_cmem_sp=cmem_sp;
#include "data397.txt"
mem_lock *sf_mem_lock;
new_mem_lock();
sf_mem_lock=mem_lock_tmp;
sf_mem_lock->type=3;
if (is_error_pending()) goto exit_subfunc;
do{
qbs_set(__STRING_FILE,qbs_add(qbs_add(_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK,_FUNC_BINARYFORMATCHECK_STRING_PATHSEPTOCHECK),_FUNC_BINARYFORMATCHECK_STRING_FILETOCHECK));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,4,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_LONG_FH=func_freefile();
if(!qbevent)break;evnt(25769,6,"ide_converters.bas");}while(r);
do{
sub_open(__STRING_FILE, 2 ,NULL,NULL,*_FUNC_BINARYFORMATCHECK_LONG_FH,NULL,0);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,7,"ide_converters.bas");}while(r);
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_A,func_space(func_lof(*_FUNC_BINARYFORMATCHECK_LONG_FH)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,8,"ide_converters.bas");}while(r);
do{
sub_get2(*_FUNC_BINARYFORMATCHECK_LONG_FH, 1 ,_FUNC_BINARYFORMATCHECK_STRING_A,1);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,9,"ide_converters.bas");}while(r);
S_64754:;
if ((qbs_cleanup(qbs_tmp_base,-(func_instr(NULL,_FUNC_BINARYFORMATCHECK_STRING_A,func_chr( 0 ),0)== 0 )))||is_error_pending()){
if(qbevent){evnt(25769,10,"ide_converters.bas");if(r)goto S_64754;}
do{
sub_close(*_FUNC_BINARYFORMATCHECK_LONG_FH,1);
if(!qbevent)break;evnt(25769,10,"ide_converters.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(25769,10,"ide_converters.bas");}while(r);
}
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_A,qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,11,"ide_converters.bas");}while(r);
do{
sub_get(*_FUNC_BINARYFORMATCHECK_LONG_FH, 1 ,byte_element((uint64)_FUNC_BINARYFORMATCHECK_INTEGER_FORMAT,2,byte_element_7413),1);
if(!qbevent)break;evnt(25769,12,"ide_converters.bas");}while(r);
do{
sub_get(*_FUNC_BINARYFORMATCHECK_LONG_FH,NULL,byte_element((uint64)_FUNC_BINARYFORMATCHECK_INTEGER_VERSION,2,byte_element_7414),0);
if(!qbevent)break;evnt(25769,13,"ide_converters.bas");}while(r);
do{
sub_close(*_FUNC_BINARYFORMATCHECK_LONG_FH,1);
if(!qbevent)break;evnt(25769,14,"ide_converters.bas");}while(r);
S_64762:;
if(qbevent){evnt(25769,16,"ide_converters.bas");if(r)goto S_64762;}
S_64763:;
if (((*_FUNC_BINARYFORMATCHECK_INTEGER_FORMAT==( 2300 )))||is_error_pending()){
if(qbevent){evnt(25769,17,"ide_converters.bas");if(r)goto S_64763;}
do{
*_FUNC_BINARYFORMATCHECK_LONG_RESULT=FUNC_IDEMESSAGEBOX(qbs_new_txt_len("Invalid format",14),qbs_new_txt_len("VBDOS binary format not supported.",34),qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,18,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK= 1 ;
if(!qbevent)break;evnt(25769,19,"ide_converters.bas");}while(r);
sc_ec_478_end:;
goto sc_7415_end;
}
S_64766:;
if (((*_FUNC_BINARYFORMATCHECK_INTEGER_FORMAT==( 764 )))||is_error_pending()){
if(qbevent){evnt(25769,20,"ide_converters.bas");if(r)goto S_64766;}
do{
*_FUNC_BINARYFORMATCHECK_LONG_RESULT=FUNC_IDEMESSAGEBOX(qbs_new_txt_len("Invalid format",14),qbs_new_txt_len("QBX 7.1 binary format not supported.",36),qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,21,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK= 1 ;
if(!qbevent)break;evnt(25769,22,"ide_converters.bas");}while(r);
sc_ec_479_end:;
goto sc_7415_end;
}
S_64769:;
if (((*_FUNC_BINARYFORMATCHECK_INTEGER_FORMAT==( 252 )))||is_error_pending()){
if(qbevent){evnt(25769,23,"ide_converters.bas");if(r)goto S_64769;}
S_64770:;
if ((qbs_cleanup(qbs_tmp_base,func_instr(NULL,func__os(),qbs_new_txt_len("WIN",3),0)))||is_error_pending()){
if(qbevent){evnt(25769,24,"ide_converters.bas");if(r)goto S_64770;}
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_CONVERTUTILITY,qbs_new_txt_len("internal\\utilities\\QB45BIN.exe",30));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,25,"ide_converters.bas");}while(r);
}else{
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_CONVERTUTILITY,qbs_new_txt_len("./internal/utilities/QB45BIN",28));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,27,"ide_converters.bas");}while(r);
}
S_64775:;
if ((qbs_cleanup(qbs_tmp_base,func__fileexists(_FUNC_BINARYFORMATCHECK_STRING_CONVERTUTILITY)))||is_error_pending()){
if(qbevent){evnt(25769,29,"ide_converters.bas");if(r)goto S_64775;}
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_WHAT,FUNC_IDEYESNOBOX(qbs_new_txt_len("Binary format",13),qbs_new_txt_len("QuickBASIC 4.5 binary format detected. Convert to plain text?",61)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,30,"ide_converters.bas");}while(r);
S_64777:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_BINARYFORMATCHECK_STRING_WHAT,qbs_new_txt_len("Y",1))))||is_error_pending()){
if(qbevent){evnt(25769,31,"ide_converters.bas");if(r)goto S_64777;}
LABEL_CONVERTIT:;
if(qbevent){evnt(25769,32,"ide_converters.bas");r=0;}
S_64778:;
if ((qbs_cleanup(qbs_tmp_base,FUNC_FILEHASEXTENSION(__STRING_FILE)))||is_error_pending()){
if(qbevent){evnt(25769,33,"ide_converters.bas");if(r)goto S_64778;}
S_64779:;
fornext_value7417=__STRING_FILE->len;
fornext_finalvalue7417= 1 ;
fornext_step7417= -1 ;
if (fornext_step7417<0) fornext_step_negative7417=1; else fornext_step_negative7417=0;
if (is_error_pending()) goto fornext_error7417;
goto fornext_entrylabel7417;
while(1){
fornext_value7417=fornext_step7417+(*_FUNC_BINARYFORMATCHECK_LONG_I);
fornext_entrylabel7417:
*_FUNC_BINARYFORMATCHECK_LONG_I=fornext_value7417;
qbs_cleanup(qbs_tmp_base,0);
if (fornext_step_negative7417){
if (fornext_value7417<fornext_finalvalue7417) break;
}else{
if (fornext_value7417>fornext_finalvalue7417) break;
}
fornext_error7417:;
if(qbevent){evnt(25769,34,"ide_converters.bas");if(r)goto S_64779;}
S_64780:;
if ((qbs_cleanup(qbs_tmp_base,-(qbs_asc(__STRING_FILE,*_FUNC_BINARYFORMATCHECK_LONG_I)== 46 )))||is_error_pending()){
if(qbevent){evnt(25769,35,"ide_converters.bas");if(r)goto S_64780;}
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_OFILE,qbs_add(qbs_add(qbs_left(__STRING_FILE,*_FUNC_BINARYFORMATCHECK_LONG_I- 1 ),qbs_new_txt_len(" (converted)",12)),func_mid(__STRING_FILE,*_FUNC_BINARYFORMATCHECK_LONG_I,NULL,0)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,37,"ide_converters.bas");}while(r);
do{
goto fornext_exit_7416;
if(!qbevent)break;evnt(25769,38,"ide_converters.bas");}while(r);
}
fornext_continue_7416:;
}
fornext_exit_7416:;
}else{
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_OFILE,qbs_add(__STRING_FILE,qbs_new_txt_len(" (converted).bas",16)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,42,"ide_converters.bas");}while(r);
}
do{
qbg_screen(NULL,NULL, 3 , 0 ,NULL,12);
if(!qbevent)break;evnt(25769,45,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_LONG_DUMMY=FUNC_DARKENFGBG(&(pass7419= 1 ));
if(!qbevent)break;evnt(25769,46,"ide_converters.bas");}while(r);
do{
SUB_CLEARSTATUSWINDOW(&(pass7420= 0 ));
if(!qbevent)break;evnt(25769,47,"ide_converters.bas");}while(r);
do{
qbg_sub_color( 15 , 1 ,NULL,NULL,3);
if(!qbevent)break;evnt(25769,48,"ide_converters.bas");}while(r);
do{
sub__printstring( 2 ,*__LONG_IDEWY- 3 ,qbs_new_txt_len("Converting...          ",23),NULL,0);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,49,"ide_converters.bas");}while(r);
do{
sub_pcopy( 3 , 0 );
if(!qbevent)break;evnt(25769,50,"ide_converters.bas");}while(r);
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_CONVERTLINE,qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_BINARYFORMATCHECK_STRING_CONVERTUTILITY,qbs_new_txt_len(" ",1)),FUNC_QUOTEDFILENAME(__STRING_FILE)),qbs_new_txt_len(" -o ",4)),FUNC_QUOTEDFILENAME(_FUNC_BINARYFORMATCHECK_STRING_OFILE)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,52,"ide_converters.bas");}while(r);
do{
sub_shell2(_FUNC_BINARYFORMATCHECK_STRING_CONVERTLINE,2);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,53,"ide_converters.bas");}while(r);
do{
SUB_CLEARSTATUSWINDOW(&(pass7421= 0 ));
if(!qbevent)break;evnt(25769,55,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_LONG_DUMMY=FUNC_DARKENFGBG(&(pass7422= 0 ));
if(!qbevent)break;evnt(25769,56,"ide_converters.bas");}while(r);
do{
sub_pcopy( 3 , 0 );
if(!qbevent)break;evnt(25769,57,"ide_converters.bas");}while(r);
S_64799:;
if ((qbs_cleanup(qbs_tmp_base,-(func__fileexists(_FUNC_BINARYFORMATCHECK_STRING_OFILE)== 0 )))||is_error_pending()){
if(qbevent){evnt(25769,59,"ide_converters.bas");if(r)goto S_64799;}
do{
*_FUNC_BINARYFORMATCHECK_LONG_RESULT=FUNC_IDEMESSAGEBOX(qbs_new_txt_len("Binary format",13),qbs_new_txt_len("Conversion failed.",18),qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,60,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK= 2 ;
if(!qbevent)break;evnt(25769,61,"ide_converters.bas");}while(r);
}else{
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK,FUNC_GETFILEPATH(_FUNC_BINARYFORMATCHECK_STRING_OFILE));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,63,"ide_converters.bas");}while(r);
S_64804:;
if ((qbs_cleanup(qbs_tmp_base,_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK->len))||is_error_pending()){
if(qbevent){evnt(25769,64,"ide_converters.bas");if(r)goto S_64804;}
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_FILETOCHECK,func_mid(_FUNC_BINARYFORMATCHECK_STRING_OFILE,_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK->len+ 1 ,NULL,0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,65,"ide_converters.bas");}while(r);
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK,qbs_left(_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK,_FUNC_BINARYFORMATCHECK_STRING_PATHTOCHECK->len- 1 ));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,66,"ide_converters.bas");}while(r);
}else{
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_FILETOCHECK,_FUNC_BINARYFORMATCHECK_STRING_OFILE);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,68,"ide_converters.bas");}while(r);
}
}
}else{
do{
*_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK= 1 ;
if(!qbevent)break;evnt(25769,72,"ide_converters.bas");}while(r);
}
}else{
S_64815:;
if ((qbs_cleanup(qbs_tmp_base,-(func__fileexists(qbs_new_txt_len("internal/support/converter/QB45BIN.bas",38))== 0 )))||is_error_pending()){
if(qbevent){evnt(25769,75,"ide_converters.bas");if(r)goto S_64815;}
do{
*_FUNC_BINARYFORMATCHECK_LONG_RESULT=FUNC_IDEMESSAGEBOX(qbs_new_txt_len("Binary format",13),qbs_new_txt_len("Conversion utility not found. Cannot open QuickBASIC 4.5 binary format.",71),qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,76,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK= 1 ;
if(!qbevent)break;evnt(25769,77,"ide_converters.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(25769,78,"ide_converters.bas");}while(r);
}
do{
qbs_set(_FUNC_BINARYFORMATCHECK_STRING_WHAT,FUNC_IDEYESNOBOX(qbs_new_txt_len("Binary format",13),qbs_new_txt_len("QuickBASIC 4.5 binary format detected. Convert to plain text?",61)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,80,"ide_converters.bas");}while(r);
S_64821:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_BINARYFORMATCHECK_STRING_WHAT,qbs_new_txt_len("Y",1))))||is_error_pending()){
if(qbevent){evnt(25769,81,"ide_converters.bas");if(r)goto S_64821;}
S_64822:;
if ((qbs_cleanup(qbs_tmp_base,-(func__direxists(qbs_new_txt_len("./internal/utilities",20))== 0 )))||is_error_pending()){
if(qbevent){evnt(25769,83,"ide_converters.bas");if(r)goto S_64822;}
do{
sub_mkdir(qbs_new_txt_len("./internal/utilities",20));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,83,"ide_converters.bas");}while(r);
}
do{
sub_pcopy( 3 , 0 );
if(!qbevent)break;evnt(25769,84,"ide_converters.bas");}while(r);
do{
qbg_screen(NULL,NULL, 3 , 0 ,NULL,12);
if(!qbevent)break;evnt(25769,85,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_LONG_DUMMY=FUNC_DARKENFGBG(&(pass7426= 1 ));
if(!qbevent)break;evnt(25769,86,"ide_converters.bas");}while(r);
do{
SUB_CLEARSTATUSWINDOW(&(pass7427= 0 ));
if(!qbevent)break;evnt(25769,87,"ide_converters.bas");}while(r);
do{
qbg_sub_color( 15 , 1 ,NULL,NULL,3);
if(!qbevent)break;evnt(25769,88,"ide_converters.bas");}while(r);
do{
sub__printstring( 2 ,*__LONG_IDEWY- 3 ,qbs_new_txt_len("Preparing to convert...",23),NULL,0);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,89,"ide_converters.bas");}while(r);
do{
sub_pcopy( 3 , 0 );
if(!qbevent)break;evnt(25769,90,"ide_converters.bas");}while(r);
S_64832:;
if ((qbs_cleanup(qbs_tmp_base,func_instr(NULL,func__os(),qbs_new_txt_len("WIN",3),0)))||is_error_pending()){
if(qbevent){evnt(25769,91,"ide_converters.bas");if(r)goto S_64832;}
do{
sub_shell2(qbs_new_txt_len("qb64pe -x internal/support/converter/QB45BIN.bas -o internal/utilities/QB45BIN",78),2);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,92,"ide_converters.bas");}while(r);
}else{
do{
sub_shell2(qbs_new_txt_len("./qb64pe -x ./internal/support/converter/QB45BIN.bas -o ./internal/utilities/QB45BIN",84),2);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,94,"ide_converters.bas");}while(r);
}
S_64837:;
if ((qbs_cleanup(qbs_tmp_base,func__fileexists(_FUNC_BINARYFORMATCHECK_STRING_CONVERTUTILITY)))||is_error_pending()){
if(qbevent){evnt(25769,96,"ide_converters.bas");if(r)goto S_64837;}
do{
goto LABEL_CONVERTIT;
if(!qbevent)break;evnt(25769,96,"ide_converters.bas");}while(r);
}
do{
SUB_CLEARSTATUSWINDOW(&(pass7428= 0 ));
if(!qbevent)break;evnt(25769,97,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_LONG_DUMMY=FUNC_DARKENFGBG(&(pass7429= 0 ));
if(!qbevent)break;evnt(25769,98,"ide_converters.bas");}while(r);
do{
sub_pcopy( 3 , 0 );
if(!qbevent)break;evnt(25769,99,"ide_converters.bas");}while(r);
do{
*_FUNC_BINARYFORMATCHECK_LONG_RESULT=FUNC_IDEMESSAGEBOX(qbs_new_txt_len("Binary format",13),qbs_new_txt_len("Error launching conversion utility.",35),qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(25769,100,"ide_converters.bas");}while(r);
}
do{
*_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK= 1 ;
if(!qbevent)break;evnt(25769,102,"ide_converters.bas");}while(r);
}
sc_ec_480_end:;
goto sc_7415_end;
}
sc_7415_end:;
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free397.txt"
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;
cmem_sp=tmp_cmem_sp;
return *_FUNC_BINARYFORMATCHECK_INTEGER_BINARYFORMATCHECK;
}
