From 32d95032b010948040e8c429b7fcb74b13c3742a Mon Sep 17 00:00:00 2001 From: "Arnaud G. GIBERT" Date: Tue, 7 May 2024 17:49:59 +0200 Subject: [PATCH] - Implement DS_Index_Check_I() & DS_Index_Info_Print_I API, - Implement in dsbench: Index_List_SubType_Set, Index_Tree_SubType_Set, Index_Info_Print & Index_Value_Break commands, - Add in DS_Value_Find dsbench command the repeat arg. --- include/datastr.h | 47 ++++++++++++- lib/libdatastr.c | 65 +++++++++++++++++ util/dsbench.c | 175 +++++++++++++++++++++++----------------------- 3 files changed, 197 insertions(+), 90 deletions(-) diff --git a/include/datastr.h b/include/datastr.h index 97c9bb6..6fdc20b 100644 --- a/include/datastr.h +++ b/include/datastr.h @@ -251,8 +251,10 @@ typedef struct DST_RootDescZ # define DS_Index_Open DS_Index_Open_I # define DS_Index_Close DS_Index_Close_I -# define DS_Index_Convert DS_Index_Convert_I # define DS_Index_Reorg DS_Index_Reorg_I +# define DS_Index_Check DS_Index_Check_I +# define DS_Index_Convert DS_Index_Convert_I +# define DS_Index_Info_Print DS_Index_Info_Print_I # define DS_Node_Root_Get DS_Node_Root_Get_I # define DS_Node_First_Get DS_Node_First_Get_I @@ -300,8 +302,10 @@ typedef struct DST_RootDescZ # define DS_Index_Open DS_Index_Open_L # define DS_Index_Close DS_Index_Close_L -# define DS_Index_Convert DS_Index_Convert_L # define DS_Index_Reorg DS_Index_Reorg_L +# define DS_Index_Check DS_Index_Check_L +# define DS_Index_Convert DS_Index_Convert_L +# define DS_Index_Info_Print DS_Index_Info_Print_L # define DS_Node_Root_Get DS_Node_Root_Get_L # define DS_Node_First_Get DS_Node_First_Get_L @@ -347,8 +351,10 @@ typedef struct DST_RootDescZ # define DS_Index_Open DS_Index_Open_CL # define DS_Index_Close DS_Index_Close_CL -# define DS_Index_Convert DS_Index_Convert_CL # define DS_Index_Reorg DS_Index_Reorg_CL +# define DS_Index_Check DS_Index_Check_CL +# define DS_Index_Convert DS_Index_Convert_CL +# define DS_Index_Info_Print DS_Index_Info_Print_CL # define DS_Node_Root_Get DS_Node_Root_Get_CL # define DS_Node_First_Get DS_Node_First_Get_CL @@ -666,6 +672,24 @@ DSD_API DST_Status DS_Index_Close_CL( DST_Root *Root_Ptr, NDT_Index_Id Index_ +/*----------------------------------------------------------------------------*/ +/* Check & repare a data structure index: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ +/*----------------------------------------------------------------------------*/ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (I) Out: Output stream */ +/*----------------------------------------------------------------------------*/ + +DSD_API DST_Status DS_Index_Check_I( DST_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Error_Dectected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out); +DSD_API DST_Status DS_Index_Check_L( DST_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Error_Dectected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out); +DSD_API DST_Status DS_Index_Check_CL( DST_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Error_Dectected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out); + + + /*----------------------------------------------------------------------------*/ /* Convert a data structure index to another type */ /*----------------------------------------------------------------------------*/ @@ -695,6 +719,23 @@ DSD_API DST_Status DS_Index_Reorg_CL( DST_Root *Root_Ptr, NDT_Index_Id Index_ +/*----------------------------------------------------------------------------*/ +/* Print data structure index information */ +/*----------------------------------------------------------------------------*/ +/* (I) Stream: Output stream */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Recursive_Mode: Child or Parent */ +/* (I) Recursive_Depth: Curent recursion depth */ +/* (I) Recursive_Offset: Curent print out offset */ +/*----------------------------------------------------------------------------*/ + +DSD_API DST_Status DS_Index_Info_Print_I( FILE *Out, DST_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset); +DSD_API DST_Status DS_Index_Info_Print_L( FILE *Out, DST_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset); +DSD_API DST_Status DS_Index_Info_Print_CL( FILE *Out, DST_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset); + + + /*----------------------------------------------------------------------------*/ /* Récupération du premier noeud d'une structure */ /*----------------------------------------------------------------------------*/ diff --git a/lib/libdatastr.c b/lib/libdatastr.c index 1b04702..870156c 100644 --- a/lib/libdatastr.c +++ b/lib/libdatastr.c @@ -1635,6 +1635,39 @@ DST_Status DS_Index_Close_I( DST_Root *Root_Ptr, NDT_Index_Id Index_Id) +/*----------------------------------------------------------------------------*/ +/* Check & repare a data structure index: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ +/*----------------------------------------------------------------------------*/ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (I) Out: Output stream */ +/*----------------------------------------------------------------------------*/ + +DST_Status DS_Index_Check_I( DST_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Error_Dectected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out) +{ + NDT_Status nd_status; + + + if( ( nd_status = ND_Index_Check_I( &( Root_Ptr->ND_Root), Index_Id, Error_Dectected_Nb_Ptr, Error_Corrected_Nb_Ptr, Out)) != NDS_OK) + { + LG_LOG_ERROR_2( "Unable to convert index: (%d), status: (%d)", Index_Id, nd_status); + + return( DSS_KO); + } + else + { + return( DSS_OK); + } +} + + + + + /*----------------------------------------------------------------------------*/ /* Convert a data structure index to another type */ /*----------------------------------------------------------------------------*/ @@ -1694,6 +1727,38 @@ DST_Status DS_Index_Reorg_I( DST_Root *Root_Ptr, NDT_Index_Id Index_Id) +/*----------------------------------------------------------------------------*/ +/* Print data structure index information */ +/*----------------------------------------------------------------------------*/ +/* (I) Stream: Output stream */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Recursive_Mode: Child or Parent */ +/* (I) Recursive_Depth: Curent recursion depth */ +/* (I) Recursive_Offset: Curent print out offset */ +/*----------------------------------------------------------------------------*/ + +DST_Status DS_Index_Info_Print_I( FILE *Out, DST_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset) +{ + NDT_Status nd_status; + + + if( ( nd_status = ND_Index_Info_Print( Out, &( Root_Ptr->ND_Root), Index_Id, Recursive_Mode, Recursive_Depth, Recursive_Offset)) != NDS_OK) + { + LG_LOG_ERROR_1( "Unable to print info about the data structure: (%d)", nd_status); + + return( DSS_KO); + } + else + { + return( DSS_OK); + } +} + + + + + /*----------------------------------------------------------------------------*/ /* Récupération du premier noeud d'une structure */ /*----------------------------------------------------------------------------*/ diff --git a/util/dsbench.c b/util/dsbench.c index 540f8f6..c79eccb 100644 --- a/util/dsbench.c +++ b/util/dsbench.c @@ -695,20 +695,39 @@ void Command_Get( int *choice, char **Arg1, char **Arg2, char **Arg3, FILE buf[ strlen( buf) - 1] = '\0'; } - if( isdigit( *buf)) + if( buf[0] == '#') { - *choice = atoi( buf); + *choice = -1; } else { - for( *choice = 0; ( *choice < COMMAND_NB) && ( strncmp( buf, Command_Tab[*choice].Name, strlen(Command_Tab[*choice].Name))) ; (*choice)++); + if( isdigit( *buf)) + { + *choice = atoi( buf); + } + else + { + for( *choice = 0; ( *choice < COMMAND_NB) && ( strncmp( buf, Command_Tab[*choice].Name, strlen(Command_Tab[*choice].Name))) ; (*choice)++); + } } if( ( *choice < 0) || ( *choice >= COMMAND_NB)) { - if( strlen( buf) != 0) fprintf( File_Output, "\nUndefined choice (%s) !\n",buf); - - *choice = -1; + if( *choice == -1) + { + LG_LOG_INFO_1( "Skipping commented out line: [%s]", buf); + } + else + { +// if( strlen( buf) != 0) fprintf( File_Output, "\nUndefined choice (%s) !\n", buf); + if( strlen( buf) != 0) + { + LG_LOG_ERROR_1( "Undefined choice: [%s]", buf); + } + + *choice = -1; + } + *Arg1 = NULL; *Arg2 = NULL; *Arg3 = NULL; @@ -854,7 +873,7 @@ void Command_Index_Range_Get( FILE *File_Output, int *Low, int *High, char void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, char *Arg1, char *Arg2, char *Arg3, FILE *File_Input) { DST_Status status; - int sub_choice_int1, sub_choice_int2, low, high, i, j, inc, nb_removed, nb_detected, nb_corrected; + int sub_choice_int1, sub_choice_int2, low, high, number, i, j, inc, nb_removed, nb_detected, nb_corrected; char *sub_choice_str; T_Module ref_module, *module_ptr; char buf[ BUF_SIZE], local_arg1[ BUF_SIZE], local_arg2[ BUF_SIZE], local_arg3[ BUF_SIZE]; @@ -1166,20 +1185,28 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha case DS_VALUE_FIND: { + int repeat; + + Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Search"); if( low != -1) { - LG_LOG_INFO_2( "DS_Value_Find: from: (%d) to: (%d)...", low, high); + if( Arg3 == NULL) + { + DBD_ARG_READ( Arg3, local_arg3, "Repeat #: "); + } + + repeat = atoi( Arg3); + LG_LOG_INFO_3( "DS_Value_Find: from: (%d) to: (%d) repeat: (%d)...", low, high, repeat); - i = low; - j = high + 1; + number = ( high - low + 1) * repeat; t_start( t_exec); - while( i < j) - { + for( i = 0; i < number; i++) + { ref_module.Id = low + (int)( (double)( high - low) * rand() / ( RAND_MAX + 1.0)); if( DS_DataStruct_Value_Find( (void *)&module_ptr, *DS_Ptr_Ptr, &ref_module) != DSS_OK) @@ -1188,15 +1215,11 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha break; } - else - { - i++; - } } - t_stop (t_exec); + t_stop( t_exec); - Command_Exec_End_Print( File_Output, Choice, t_exec, high - low); + Command_Exec_End_Print( File_Output, Choice, t_exec, number); } break; @@ -1285,22 +1308,22 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha break; } -/* + case INDEX_LIST_SUBTYPE_SET: { int subtype; - Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index"); + Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Index"); if( low != -1) { - if( Arg2 == NULL) + if( Arg3 == NULL) { - fprintf( File_Output, "Index_List_SubType_Set: List SubType ( 0:FIFO | 1:LIFO | 2:Sorted) ? "); + fprintf( File_Output, "Index_List_SubType_Set: List SubType: ( 0:FIFO | 1:LIFO | 2:Sorted): "); fgets( buf, BUF_LEN, File_Input); - Arg2 = buf; + Arg3 = buf; } subtype = atoi( Arg2); @@ -1328,27 +1351,27 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha default: { index_subtype = NDD_INDEX_SUBTYPE_UNKNOWN; - printf ("Index_List_SubType_Set: Invalid selection (%d) !\n", subtype); + + LG_LOG_ERROR_1( "Invalid list subtype: (%d)", subtype); break; } } if( index_subtype != NDD_INDEX_SUBTYPE_UNKNOWN) { -// fprintf( File_Output, "Index_List_SubType_Set: Setting List SubType to: (%d) (%s) !\n", index_subtype, ND_INDEX_SUBTYPE_VALUE_ASCII_GET( index_subtype)); - LG_LOG_INFO_2( "Index_List_SubType_Set: Setting List SubType to: (%d) (%s) !", index_subtype, ND_INDEX_SUBTYPE_VALUE_ASCII_GET( index_subtype)); + LG_LOG_INFO_2( "Index_List_SubType_Set: Setting List SubType to: (%d) [%s]", index_subtype, ND_INDEX_SUBTYPE_VALUE_ASCII_GET( index_subtype)); t_start( t_exec); for( i = low; i <= high; i++) { - if( ND_INDEX_TYPE_LIST_IS( *DS_Ptr_Ptr, i)) + if( ND_INDEX_TYPE_LIST_IS( &( ( *DS_Ptr_Ptr)->ND_Root), i)) { - (*DS_Ptr_Ptr)->Index_Tab[i].Type = ( (*DS_Ptr_Ptr)->Index_Tab[i].Type & NDD_INDEX_SUBTYPE_RMSK) | index_subtype; + ( *DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Type = ( (*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Type & NDD_INDEX_SUBTYPE_RMSK) | index_subtype; } else { - fprintf( File_Output, "Index_List_SubType_Set: Error: index (%d) is not a List !\n", i); + LG_LOG_ERROR_1( "Index: (%d) is not a list", i); } } @@ -1366,19 +1389,19 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha int subtype; - Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index"); + Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Index"); if( low != -1) { - if( Arg2 == NULL) + if( Arg3 == NULL) { - fprintf( File_Output, "Index_Tree_SubType_Set: Tree SubType (0:UnBalanced | 1:Balanced) ? "); + fprintf( File_Output, "Index_Tree_SubType_Set: Tree SubType (0:UnBalanced | 1:Balanced): "); fgets( buf, BUF_LEN, stdin); - Arg2 = buf; + Arg3 = buf; } - subtype = atoi( Arg2); + subtype = atoi( Arg3); switch( subtype) { @@ -1397,7 +1420,8 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha default: { index_subtype = NDD_INDEX_SUBTYPE_UNKNOWN; - printf ("Index_Tree_SubType_Set: Invalid selection (%d)!\n", subtype); + + LG_LOG_ERROR_1( "Invalid tree subtype: (%d)", subtype); break; } } @@ -1409,13 +1433,13 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha for( i = low; i <= high; i++) { - if( ND_INDEX_TYPE_TREE_IS( *DS_Ptr_Ptr, i)) + if( ND_INDEX_TYPE_TREE_IS( &( ( *DS_Ptr_Ptr)->ND_Root), i)) { - (*DS_Ptr_Ptr)->Index_Tab[i].Type = ( (*DS_Ptr_Ptr)->Index_Tab[i].Type & NDD_INDEX_SUBTYPE_RMSK) | index_subtype; + (*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Type = ( (*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Type & NDD_INDEX_SUBTYPE_RMSK) | index_subtype; } else { - fprintf( File_Output, "Index_Tree_SubType_Set: Error: index (%d) is not a Tree !\n", i); + LG_LOG_ERROR_1( "Index: (%d) is not a tree", i); } } @@ -1427,7 +1451,7 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha break; } -*/ + case INDEX_REORG: { Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Index"); @@ -1511,21 +1535,18 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha break; } -/* + case INDEX_INFO_PRINT: { - Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index"); + Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Index"); if( low != -1) { -// fprintf( File_Output, "Index_Info_Print: Printing index from: (%d) to: (%d)...\n", low, high); -// fflush( File_Output); - LG_LOG_INFO_2( "Index_Info_Print: Printing index from: (%d) to: (%d)...", low, high); for( i = low; i <= high; i++) { - ND_Index_Info_Print( File_Output, *DS_Ptr_Ptr, (NDT_Index_Id)i, NDD_RECURSIVE_MODE_PARENT_CHILD, 99, 0); + DS_Index_Info_Print( File_Output, *DS_Ptr_Ptr, (NDT_Index_Id)i, NDD_RECURSIVE_MODE_PARENT_CHILD, 99, 0); } } @@ -1534,12 +1555,9 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha case INDEX_VALUE_PRINT: { -// fprintf( File_Output, "DS_Value_Print:\n"); -// fflush( File_Output); - LG_LOG_INFO_0( "DS_Value_Print:"); - ND_DataStruct_Value_Print( File_Output, *DS_Ptr_Ptr, NDD_RECURSIVE_MODE_PARENT_CHILD, 99, 0); + DS_DataStruct_Value_Print( File_Output, *DS_Ptr_Ptr, NDD_RECURSIVE_MODE_PARENT_CHILD, 99, 0); break; } @@ -1549,28 +1567,23 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha NDT_Node *node_ptr; - Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index"); + Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Index"); if( low != -1) { - if( Arg2 == NULL) + if( Arg3 == NULL) { - fprintf( File_Output, "Index_Value_Break: Value position (0:Head | 1:Tail | 2:Random) ? "); + fprintf( File_Output, "Index_Value_Break: Value position (0:Head | 1:Tail | 2:Random): "); fgets( buf, BUF_LEN, stdin); - Arg2 = buf; + Arg3 = buf; } - position = atoi( Arg2); - -// fprintf( File_Output, "Index_Value_Break: Breaking %s values from index : (%d) to: (%d)...\n", -// ( position == 0 ) ? "Head" : ( ( position == 1) ? "Tail" : "Random"), -// low, high); -// fflush( File_Output); + position = atoi( Arg3); LG_LOG_INFO_3( "Index_Value_Break: Breaking: (%s) values from index: (%d) to: (%d)...", - ( position == 0 ) ? "Head" : ( ( position == 1) ? "Tail" : "Random"), - low, high); + ( position == 0 ) ? "Head" : ( ( position == 1) ? "Tail" : "Random"), + low, high); t_start( t_exec); @@ -1583,21 +1596,21 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha { case 0: { - node_ptr =(*DS_Ptr_Ptr)->Index_Tab[i].Head; + node_ptr =(*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Head; break; } case 1: { - node_ptr=(*DS_Ptr_Ptr)->Index_Tab[i].Tail; + node_ptr=(*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Tail; break; } case 2: { - j = (int)( (double)( (*DS_Ptr_Ptr)->Index_Tab[i].Node_Number) * rand() / ( RAND_MAX + 1.0)); + j = (int)( (double)( (*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Node_Number) * rand() / ( RAND_MAX + 1.0)); - for( node_ptr = (*DS_Ptr_Ptr)->Index_Tab[i].Head; j > 0; j--) + for( node_ptr = (*DS_Ptr_Ptr)->ND_Root.Index_Tab[i].Head; j > 0; j--) { node_ptr = node_ptr->Right; } @@ -1606,34 +1619,31 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha } } -// fprintf( File_Output, "0x(%x)", node_ptr); -// fflush( File_Output); - - LG_LOG_INFO_1( "Index_Value_Break: Breaking value of node: 0x(%x)", node_ptr); + LG_LOG_INFO_1( "Index_Value_Break: Breaking value of node: (%p)", node_ptr); node_ptr->Value = (void *)-1; } t_stop (t_exec); - fprintf( File_Output, "\n"); - fflush( File_Output); +// fprintf( File_Output, "\n"); +// fflush( File_Output); Command_Exec_End_Print( File_Output, Choice, t_exec, high - low); } break; } - +/* case INDEX_NODE_BREAK: { break; } - +*/ case INDEX_CHECK: { - Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index"); + Command_Index_Range_Get( File_Output, &low, &high, Arg1, Arg2, File_Input, Choice, "Index"); if( low != -1) { @@ -1641,15 +1651,11 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha for( i = low; i <= high; i++) { -// fprintf( File_Output, "Index_Check: Checking Index (%d)...\n", i); -// fprintf( File_Output, "Index_Check: "); -// fflush( File_Output); - LG_LOG_INFO_1( "Index_Check: Checking Index (%d)...", i); LG_LOG_INFO_0( "Index_Check: "); - Nb_Corrected = Nb_Detected = 0; - ND_Index_Check( *DS_Ptr_Ptr, (NDT_Index_Id)i, &Nb_Detected, &Nb_Corrected, File_Output); + nb_corrected = nb_detected = 0; + DS_Index_Check( *DS_Ptr_Ptr, (NDT_Index_Id)i, &nb_detected, &nb_corrected, File_Output); } t_stop (t_exec); @@ -1659,7 +1665,7 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha break; } -*/ + case BATCH_RUN: { FILE *file_input; @@ -1678,20 +1684,15 @@ void Command_Exec( DST_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha if( file_input == NULL) { -// fprintf( File_Output, "Batch_Run: Can't open file (%s)!\n", Arg1); LG_LOG_ERROR_1( "Batch_Run: Can't open file (%s)!", Arg1); } else { -// fprintf( File_Output, "\n\n--------------------------------------------------------------------------------\n"); -// fprintf( File_Output, "Batch_Run: Starting execution (%s)...\n", Arg1); LG_LOG_INFO_0( "--------------------------------------------------------------------------------"); LG_LOG_INFO_1( "Batch_Run: Starting execution (%s)...", Arg1); Batch_Run( DS_Ptr_Ptr, File_Output, file_input, 0); -// fprintf( File_Output, "\n"); -// fprintf( File_Output, "Batch_Run: Ending execution (%s)...\n", Arg1); LG_LOG_INFO_1( "Batch_Run: Ending execution (%s)...", Arg1); fclose( file_input); @@ -1807,7 +1808,7 @@ int main( int argc, char **argv) } - LG_LOG_INFO_0( "End NDBench"); + LG_LOG_INFO_0( "End DSBench"); if( ( lg_status = LG_Library_Close( true)) != LGS_OK) {