It doesn't print next Analyzer::parse: starts.
// // // // // int Analyzer::parse ( char* filename ) { FILE *fp; aToken *iToken = nullptr; char *parse_token; int previous_index = 0; char dummy[256]; char* a_token; int mode_token = 0; iToken = new aToken(); fp = fopen ( filename, "rb" ); int file_end = filesize ( fp ); int anz_count = 0; int inc_count = 0; Sleep(1000); level_error_msg = 2; set_level_error_msg = 3; // printf ("Analyzer::parse: starts.\r\n"); err_msg_006 ("Analyzer::parse: starts.\r\n"); for( int i=0; igetToken( fp, &i, &file_end ); if ( m_compare( (char*) "#define", parse_token ) == 1 ) { iToken->block_to( (char*)"\n", &i, file_end, fp); a_token = iToken->block; err_msg_006( "#define a_token: |%s|\r\n", a_token ); // 20190923 printed and qualified. // dummy[0] = iToken->getChar( fp, &i, &file_end); // dummy[1] = '\0'; // printf("#define next: i:%d dummy: |%s|\r\n", i, dummy ); // exit(-1); // end of m_fread: 1 // #define next: i:1903 dummy: |#| anz_count++; } else if ( m_compare( (char*) "#include", parse_token ) == 1 ) { iToken->block_to( (char*)"\n", &i, file_end, fp); a_token = iToken->block; err_msg_006( "#include a_token: |%s|\r\n", a_token ); inc_count++; } else { err_msg_006( "else: parse_token: |%s| a_token: |%s|\r\n", parse_token, a_token ); err_msg_006("Exit(-1): Analyzer::parse: %s\r\n", filename); exit(-1); } iToken->free_main_token (); if ( inc_count == 6 ) break; // if ( anz_count == 3 ) break; switch( mode_token ) { case 0: break; case 1: break; } } fclose(fp); err_msg_006("Analyzer::parse: ends.\r\n"); return 1; } --- int print_socket_msg = 0; // // // // // void err_msg_006(const char *fmt, ...) { va_list ap; int argc; char** argv; int send_success; char* result; if ( set_level_error_msg <= level_error_msg ) return; va_start(ap, fmt); result = err_doit_002(0, 0, fmt, ap); va_end(ap); if ( print_socket_msg != 1 ) return; argc = 3; argv = (char**) malloc( sizeof(char**) * argc ) ; set_sender_default_parameters ( &argc, argv ) ; argv[2] = (char *) result; send_success = sender_main ( argc, argv ) ; } --- Called: InvalidateRect( this->event->hWnd, NULL, TRUE) WM_MESSG 004: 258 *(p_evt->uMsg):258 uMsg:258 p_evt->uMsg: 6552728 &uMsg: 6552728 WM_MESSG 000: hWnd 658048: uMsg 15: wParam 0: lParam 0: canvas 4342156: btc 4342176: *(p_evt->uMsg) 15: WM_PAINT 001: 15 *(p_evt->uMsg):15 uMsg: 15 WM_MESSG 000: hWnd 658048: uMsg 20: wParam 100732064: lParam 0: canvas 4342156: btc 4342176: *(p_evt->uMsg) 20: WM_MESSG 003: 20 *(p_evt->uMsg):20 wButtonController::Process: 20 / 15<-WM_PAINT wParam 100732064 lParam 0 this->event->uMsg:6551900 *(this->event->uMsg)=20 Called: InvalidateRect( this->event->hWnd, NULL, TRUE) WM_MESSG 004: 20 *(p_evt->uMsg):20 uMsg:20 p_evt->uMsg: 6551900 &uMsg: 6551900 WM_PAINT 002: 15 *(p_evt->uMsg):20 uMsg: 15 WM_MESSG 003: 15 *(p_evt->uMsg):20 wButtonController::Process: 20 / 15<-WM_PAINT wParam 100732064 lParam 0 this->event->uMsg:6551900 *(this->event->uMsg)=20 wButtonController::WM_PAINT: this->event->main_mode = 3 default: Analyzer::parse: starts.
I beleive we could compile the source code even though we don't touch it after first compiling it. https://github.com/WaitrudWeber/source_zip/blob/master/analyzer_20191030.zip https://github.com/WaitrudWeber/source_zip/blob/master/analyzer_20191030-001.zip
.\analyzer_20191030> c:\aaa\bin\make.exe all mingw32-g++ -Wall -O3 -I C:\MinGW\include\ -L C:\MinGW\lib -lgdi32 -lws2_32 -lwsock32 -mwindows -o analyzer_C.o -c analyzer_C.cpp analyzer_C.cpp: In member function 'int Analyzer::parse(char*)': analyzer_C.cpp:81:25: error: 'm_fread' was not declared in this scope m_fread ( dummy, 1, fp); ^ analyzer_C.cpp:61:6: warning: unused variable 'previous_index' [-Wunused-variable] int previous_index = 0; ^~~~~~~~~~~~~~ analyzer_C.cpp: In member function 'int Analyzer::parse_token(char*)': analyzer_C.cpp:168:61: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] int return_value = this->skip_to( "*/", &i , file_end, fp); ^ analyzer_C.cpp:168:8: warning: unused variable 'return_value' [-Wunused-variable] int return_value = this->skip_to( "*/", &i , file_end, fp); ^~~~~~~~~~~~ make: *** [Makefile:21: analyzer_C.o] Error 1 PS C:\Users\soresore soreda\source\sourcevisualizer\analyzer_20191030> c:\aaa\bin\make.exe all mingw32-g++ -Wall -O3 -I C:\MinGW\include\ -L C:\MinGW\lib -lgdi32 -lws2_32 -lwsock32 -mwindows -o analyzer_C.o -c analyzer_C.cpp analyzer_C.cpp: In member function 'int Analyzer::parse(char*)': analyzer_C.cpp:61:6: warning: unused variable 'previous_index' [-Wunused-variable] int previous_index = 0; ^~~~~~~~~~~~~~ analyzer_C.cpp:62:7: warning: unused variable 'dummy' [-Wunused-variable] char dummy[256]; ^~~~~ analyzer_C.cpp: In member function 'int Analyzer::parse_token(char*)': analyzer_C.cpp:168:61: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] int return_value = this->skip_to( "*/", &i , file_end, fp); ^ analyzer_C.cpp:168:8: warning: unused variable 'return_value' [-Wunused-variable] int return_value = this->skip_to( "*/", &i , file_end, fp); ^~~~~~~~~~~~ analyzer_C.cpp: In member function 'int Analyzer::parse(char*)': analyzer_C.cpp:104:84: warning: 'a_token' may be used uninitialized in this function [-Wmaybe-uninitialized] err_msg_006( "else: parse_token: |%s| a_token: |%s|\r\n", parse_token, a_token ); ^ mingw32-g++ array_counter.o wTextarea.o wButton.o button.o winmain_001.o wButtonController.o clipboard.o something_word.o wController.o wTextareaController.o thread_print.o client.o vCalculation.o vPoint.o vTriangle.o vIntersection.o vModel.o vScreen.o display_threeD.o wEvent.o wEvent.o wCanvasController.o vLine.o Print.o list_directory.o parse.o numbering.o sender.o wJavaStructure.o wMethod.o vPointStructure.o vPointLinear.o w3DInfo.o w3DCalculation.o wC_structure.o wC_structure_Display.o analyzer_C.o aToken.o -Wall -O3 -I C:\MinGW\include\ -L C:\MinGW\lib -l gdi32 -lws2_32 -lwsock32 -o winmain_001.exe .\analyzer_20191030>