From b649d3b5ea6596b8efa05550e9922f8ab5c8fbed Mon Sep 17 00:00:00 2001 From: agibert Date: Wed, 27 Feb 2002 16:08:07 +0000 Subject: [PATCH] Rework ND_DataStruct_Check_I() and ND_Index_Check_I() functions. --- lib/libnode.c | 66 ++++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/lib/libnode.c b/lib/libnode.c index 9ab2a6e..3ab0192 100644 --- a/lib/libnode.c +++ b/lib/libnode.c @@ -1,18 +1,20 @@ /*---------------------------------------------------------------------------------*/ /* $RCSfile: libnode.c,v $ */ /*---------------------------------------------------------------------------------*/ -/* $Revision: 2.2 $ */ +/* $Revision: 2.3 $ */ /* $Name: $ */ -/* $Date: 2002/02/26 16:38:19 $ */ +/* $Date: 2002/02/27 16:08:07 $ */ /* $Author: agibert $ */ /*---------------------------------------------------------------------------------*/ +#define _LIBNODE_C_ + #include #ifdef _LIBVER -VER_INFO_EXPORT (libnode,"$Revision: 2.2 $", "$Name: $",__FILE__,"$Author: agibert $") +VER_INFO_EXPORT (libnode,"$Revision: 2.3 $", "$Name: $",__FILE__,"$Author: agibert $") #endif @@ -21,7 +23,6 @@ VER_INFO_EXPORT (libnode,"$Revision: 2.2 $", "$Name: $",__FILE__,"$Author: agib - /*------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------*/ /* Node Manager Template */ @@ -42,7 +43,7 @@ NDT_Status ND_Default_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT Command_Name = "NDD_CMD_MANAGER_VERSION"; - *Version_Name_Ptr = "$Revision: 2.2 $ $Name: $ $Date: 2002/02/26 16:38:19 $ $Author: agibert $"; + *Version_Name_Ptr = "$Revision: 2.3 $ $Name: $ $Date: 2002/02/27 16:08:07 $ $Author: agibert $"; return( NDS_OK); } @@ -872,45 +873,42 @@ NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root_Ptr) /* (I) Out : flux de sortie du rapport */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Index_Check_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Nb_Detected_Ptr, int *Nb_Corrected_Ptr, FILE *Out) +NDT_Status ND_Index_Check_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Detected_Nb_Ptr, int *Corrected_Nb_Ptr, FILE *Out) { + *Detected_Nb_Ptr = 0; + *Corrected_Nb_Ptr = 0; + + if( ND_INDEX_STATUS_OPENED_IS( Root_Ptr, Index_Id)) { if( ND_INDEX_TYPE_LIST_IS( Root_Ptr, Index_Id)) { - ND_List_Check( Root_Ptr, Index_Id, Nb_Detected_Ptr, Nb_Corrected_Ptr, Out); + ND_List_Check( Root_Ptr, Index_Id, Detected_Nb_Ptr, Corrected_Nb_Ptr, Out); } else if( ND_INDEX_TYPE_TREE_IS( Root_Ptr, Index_Id)) { - ND_Tree_Check( Root_Ptr, Index_Id, Nb_Detected_Ptr, Nb_Corrected_Ptr, Out); + ND_Tree_Check( Root_Ptr, Index_Id, Detected_Nb_Ptr, Corrected_Nb_Ptr, Out); } else { sprintf( ND_Error_Msg, "Error ND_DataStruct_Check : unknown structure type (%d) in structure (%p:%d)\n", Root_Ptr->Index_Tab[Index_Id].Type, Root_Ptr, Index_Id); ND_Error_Print(); - (*Nb_Detected_Ptr)++; - return(NDS_ERRAPI); + + (*Detected_Nb_Ptr)++; + return( NDS_OK); } - } - else - { - Nb_Detected_Ptr = 0; - Nb_Corrected_Ptr = 0; - return( NDS_OK); - } - /* Affichage du résultat de la procédure de vérification */ + /* Affichage du résultat de la procédure de vérification */ - if(*Nb_Detected_Ptr == 0) - { - fprintf( Out, "No error detected in the node structure (%p:%d)\n", Root_Ptr, Index_Id); + if( *Detected_Nb_Ptr == 0) + { + fprintf( Out, "No error detected in the node structure (%p:%d)\n", Root_Ptr, Index_Id); + } + else + { + fprintf( Out, "%d/%d error(s) corrected in the node structure (%p:%d)\n", *Corrected_Nb_Ptr, *Detected_Nb_Ptr, Root_Ptr, Index_Id); + } } - else - { - fprintf (Out, "%d/%d error(s) corrected in the node structure (%p:%d)\n", *Nb_Corrected_Ptr, *Nb_Detected_Ptr, Root_Ptr, Index_Id); - } - - if( *Nb_Corrected_Ptr < *Nb_Detected_Ptr) return( NDS_KO); return( NDS_OK); } @@ -965,19 +963,23 @@ NDT_Status ND_Index_Check_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int /* (I) Out : flux de sortie du rapport */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_DataStruct_Check_I( NDT_Root *Root_Ptr, int *Nb_Detected_Ptr, int *Nb_Corrected_Ptr, FILE *Out) +NDT_Status ND_DataStruct_Check_I( NDT_Root *Root_Ptr, int *Error_Detected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out) { NDT_Status status; NDT_Index_Id index_id; + int index_error_detected_nb, index_error_corrected_nb; for( index_id = 0; index_id < Root_Ptr->Index_Nb; index_id++) { - status = ND_Index_Check_I( Root_Ptr, index_id, Nb_Detected_Ptr, Nb_Corrected_Ptr, Out); - if( ND_ERROR(status)) return(status); - } + status = ND_Index_Check_I( Root_Ptr, index_id, &index_error_detected_nb, &index_error_corrected_nb, Out); + if( ND_ERROR(status)) return(status); - return NDS_OK; + *Error_Detected_Nb_Ptr = *Error_Detected_Nb_Ptr + index_error_detected_nb; + *Error_Corrected_Nb_Ptr = *Error_Corrected_Nb_Ptr + index_error_corrected_nb; + } + + return( NDS_OK); }