*
Sublootin is not necesarry for the change.
Valuable memories is useful out side of the sublootin, which means a memories administration on the source code.
// int a_get_inside_003 ( char* key_buffer, int max_buffer, char* end_string, char* tag_string ) ; // // int a_get_inside_003 ( char* key_buffer, int max_buffer, char* end_string, char* tag_string, int index_start ) { char* p_dummy; int count; printf("int a_get_inside_003( char* key_buffer, int max_buffer, char* end_string, char* tag_string ) starts.\r\n"); printf("max_buffer %d\r\n tag_string:\r\n %s\r\n", max_buffer, tag_string); count = array_count( tag_string ); printf("index_start %d\r\n", index_start ); for(int i=index_start; i<max_buffer; i++ ) { // p_dummy = (char*)get_array_string_003 ( key_buffer, i, 4); // replace of a file pointer. p_dummy = (char*)get_array_string_004 ( tag_string, i, 4); // replace of a file pointer. p_dummy[4] = '\0'; key_buffer[i - index_start] = p_dummy[0]; printf("p_dummy|%s| i: %d/%d\r\n", p_dummy, i, max_buffer); if ( m_start_with ( (char*)p_dummy, end_string ) == 1 ) { key_buffer[i - index_start + 1] ='\0'; printf("We found the |>| index %d/ %d.\r\n", i, count ); printf("key_buffer |%s|\r\n", key_buffer ); aFree(p_dummy); printf("int a_get_inside_003( char* key_buffer, int max_buffer, char* end_string, char* tag_string ) returns 1.\r\n"); exit(-1); return 1; } aFree(p_dummy); } printf("returnable key_buffer |%s|\r\n", key_buffer); printf("int a_get_inside_003( char* key_buffer, int max_buffer, char* end_string, char* tag_string ) ends.\r\n"); exit(-1); return 0; }
--- execution 001 ----
char** put_memories_002 ( char* str ) ends.
char* char_string_002 ( int num_memories ) ends.
a_sleep_thread_002 starts.
a_sleep_thread_002 ends.
dummy_allocation_001 point|003D1050|
str |0028FCB1| dummy_allocation_001 |003D1050|
char* copyof_002 ( char* str ) ends.
result:|>>|
char* get_array_string_004(char* a_string, int index, int length ) ends.
p_dummy|>>| i: 2/255
We found the |>| index 2/ 1084.
key_buffer |<p>|
void aFree ( char* str ) |003D1050| starts.
sub_aFree starts.
We are going to free |4001872| from array [3]
i 0/ 3
i 1/ 3
i 2/ 3
free |003D1050| | 2/ 3| |>>|>>|
free 2 |00000000|
001 stored_index 2/
002 stored_index 2/
003 dummy_ary_index 3/ -> 004 dummy_ary_index 2/
sub_aFree ends. return 1.
sub_aFree starts.
We are going to free |4001872| from array [2]
i 0/ 2
i 1/ 2
001 stored_index -1/
sub_aFree ends. thre is no free.
void aFree ( char* str ) |003D1050| ends.
int a_get_inside_003( char* key_buffer, int max_buffer, char* end_string, char* tag_string ) returns 1.
--- execution 001 ----