OSDN Git Service

2019/04/18(Thr) 05:52
authorKoine Yuusuke(koinec) <koinec@users.osdn.me>
Wed, 17 Apr 2019 20:51:46 +0000 (05:51 +0900)
committerKoine Yuusuke(koinec) <koinec@users.osdn.me>
Wed, 17 Apr 2019 20:51:46 +0000 (05:51 +0900)
 (LibGoblin)
  * WorkBackup

libgoblin/drd64_libgoblin.h
libgoblin/drd64_libgoblin_objinfo.c
libgoblin/drd64_libgoblin_srcfile.c
libgoblin/test_libgoblin_objinfo.c
libgoblin/test_libgoblin_srcfile.c

index 6568bda..f4a41a4 100644 (file)
@@ -106,6 +106,8 @@ Comment:
 #define        DRD64_SRCID_LIBGOBLIN_PROGINFO          0x11
 #define        DRD64_SRCID_LIBGOBLIN_BINARYINFO        0x12
 #define        DRD64_SRCID_LIBGOBLIN_BINARYFILE        0x13
+#define        DRD64_SRCID_LIBGOBLIN_SRCFILE           0x14
+#define        DRD64_SRCID_LIBGOBLIN_OBJINFO           0x15
 
 #endif /* DRD64_HEADER_LIBGOBLIN_MAIN */
 
index f668d39..3520e08 100644 (file)
@@ -37,9 +37,14 @@ Comment:
 #define        DRD64_SRC_LIBGOBLIN_OBJINFO
 #include"drd64_libgoblin.h"
 
+#define LOCATION(n) DRD64_ERR_LOCATION( \
+                                               DRD64_ERROR_MODULE_LIBGOBLIN, DRD64_ERROR_ARCH_NODEPEND, \
+                                               DRD64_SRCID_LIBGOBLIN_OBJINFO, (n))
+
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_GetObjectInfo       0x14
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_GetObjectInfo(
@@ -48,9 +53,9 @@ LibGoblin_ObjectInfo *
 {
        assert( NULL != p_pginfo );
 
-       if(( p_pginfo->objinfo.i_alloced <= i_oid ) || ( 0 > i_oid ))
-               { return NULL; }
-       
+       if(( p_pginfo->objinfo.i_alloced <= i_oid ) || ( 0 > i_oid ))   {
+               return NULL;
+       }
        
        return OBJINFO(p_pginfo, i_oid);
 }
@@ -58,6 +63,7 @@ LibGoblin_ObjectInfo *
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_GetGroupChildTop    0x31
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_GetGroupChildTop(
@@ -80,6 +86,7 @@ LibGoblin_ObjectInfo *
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_GetGroupNext        0x32
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_GetGroupNext(
@@ -100,6 +107,7 @@ LibGoblin_ObjectInfo *
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_ClearObjectInfo     0x13
 void
        ObjectInfo_ClearObjectInfo(
                        LibGoblin_ObjectInfo    *p_objinfo )
@@ -128,6 +136,7 @@ void
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_AllocObjectInfo     0x11
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_AllocObjectInfo(
@@ -186,13 +195,16 @@ LibGoblin_ObjectInfo *
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_CreateMasterObject  0x51
 int
        ObjectInfo_CreateMasterObject(
                        LibGoblin_ProgramInfo   *p_pginfo )
 {
        LibGoblin_ObjectInfo    *p_objinfo;
 
-       if( NO_OBJ != p_pginfo->objinfo.i_topid )       { return 0x00; }
+       if( NO_OBJ != p_pginfo->objinfo.i_topid )       {
+               return 0x00;
+       }
 
        p_objinfo       = ObjectInfo_AllocObjectInfo( p_pginfo );
        if( NULL == p_objinfo ) {
@@ -212,6 +224,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_AdoptObjectInfo     0x23
 int
        ObjectInfo_AdoptObjectInfo(
                        LibGoblin_ProgramInfo   *p_pginfo,
@@ -314,6 +327,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_InsetObjectInfo     0x21
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_InsetObject(
@@ -448,6 +462,7 @@ goto_ObjectInfo_InsetObject_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_SearchAddressSize   0x41
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_SearchAddressSize(
@@ -489,6 +504,7 @@ LibGoblin_ObjectInfo *
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_SearchDynamicSymbol 0x42
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_SearchDynamicSymbol(
@@ -537,6 +553,7 @@ goto_ObjectInfo_SearchDynamicSymbol_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+/*
 LIBGOBLIN_OBJINFO_EXTERN
 LibGoblin_ObjectInfo *
        ObjectInfo_AllocWorkObject(
@@ -550,10 +567,12 @@ LibGoblin_ObjectInfo *
 
        return p_objinfo;
 }
+*/
 
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_FreeObjectInfo      0x12
 LIBGOBLIN_OBJINFO_EXTERN
 int
        ObjectInfo_FreeObjectInfo(
@@ -585,6 +604,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_DeleteObjectInfo    0x22
 LIBGOBLIN_OBJINFO_EXTERN
 int
        ObjectInfo_DeleteObjectInfo(
@@ -663,6 +683,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_Init        0x01
 LIBGOBLIN_OBJINFO_EXTERN
 int
        ObjectInfo_Init(
@@ -704,6 +725,7 @@ int
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_ObjectInfo_Term        0x02
 LIBGOBLIN_OBJINFO_EXTERN
 int
        ObjectInfo_Term(
index a785b0c..6f3af38 100644 (file)
@@ -37,18 +37,34 @@ Comment:
 #define        DRD64_SRC_LIBGOBLIN_SRCFILE
 #include"drd64_libgoblin.h"
 
+#define LOCATION(n) DRD64_ERR_LOCATION( \
+                                               DRD64_ERROR_MODULE_LIBGOBLIN, DRD64_ERROR_ARCH_NODEPEND, \
+                                               DRD64_SRCID_LIBGOBLIN_SRCFILE, (n))
+
+
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_GetSrcFile     0x14
 LIBGOBLIN_SRCFILE_EXTERN
 LibGoblin_SrcFile      *
        SrcFile_GetSrcFile(
                        int             i_srcid )
 {
-       if(( gi_max_src_file <= i_srcid ) || ( 0 > i_srcid ))
-               { return NULL; }
+       if(( gi_max_src_file <= i_srcid ) || ( 0 > i_srcid ))   {
+               LibBrownie_Error_SetErrorInfo(
+                       DRD64_ERROR( DRD64_ERROR_PTN_FAILED_ARG, 0x01, 0x01 ),
+                       LOCATION( FUNCID_LibGoblin_SrcFile_GetSrcFile ),
+                       errno, (QWord)i_srcid , (QWord)gi_max_src_file, __LINE__ );
+               return NULL;
+       }
        
-       if( -0x01 == SRCFILE( i_srcid )->i_id )
-               { return NULL; }
+       if( -0x01 == SRCFILE( i_srcid )->i_id ) {
+               LibBrownie_Error_SetErrorInfo(
+                       DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
+                       LOCATION( FUNCID_LibGoblin_SrcFile_GetSrcFile ),
+                       errno, (QWord)i_srcid , (QWord)0x00, __LINE__ );
+               return NULL;
+       }
 
        return SRCFILE( i_srcid );
 }
@@ -57,6 +73,7 @@ LibGoblin_SrcFile     *
 /*----------------------------------------------------------------------
 OK
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_AllocSrcFile   0x11
 LIBGOBLIN_SRCFILE_EXTERN
 LibGoblin_SrcFile      *
        SrcFile_AllocSrcFile(
@@ -78,6 +95,10 @@ LibGoblin_SrcFile    *
                }
 
                // Bug -- Not Exist Non-used SrcFile struct.
+               LibBrownie_Error_SetErrorInfo(
+                       DRD64_ERROR( DRD64_ERROR_PTN_BUG, 0x01, 0x01 ),
+                       LOCATION( FUNCID_LibGoblin_SrcFile_AllocSrcFile ),
+                       errno, (QWord)gi_now_src_file , (QWord)gi_max_src_file, __LINE__ );
                goto    goto_SrcFile_AllocSrcFile_post;
        }
 
@@ -86,6 +107,10 @@ LibGoblin_SrcFile   *
                                                                sizeof( LibGoblin_SrcFile ) * 
                                                                ( gi_alloc_src_file + LIBGOBLIN_SRCFILE_UNITS ) );
                if( NULL == p_srcbase ) {
+                       LibBrownie_Error_SetErrorInfo(
+                               DRD64_ERROR( DRD64_ERROR_PTN_NOMEMORY, 0x01, 0x02 ),
+                               LOCATION( FUNCID_LibGoblin_SrcFile_AllocSrcFile ),
+                               errno, (QWord)gi_alloc_src_file , (QWord)gi_max_src_file, __LINE__ );
                        goto    goto_SrcFile_AllocSrcFile_post;
                }
 
@@ -108,6 +133,7 @@ goto_SrcFile_AllocSrcFile_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_SearchSrcFile  0x31
 LIBGOBLIN_SRCFILE_EXTERN
 LibGoblin_SrcFile      *
        SrcFile_SearchSrcFile(
@@ -144,6 +170,7 @@ goto_SrcFile_SearchSrcFile_post:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_DispenseSrcFile        0x21
 LIBGOBLIN_SRCFILE_EXTERN
 LibGoblin_SrcFile      *
        SrcFile_DispenseSrcFile(
@@ -168,6 +195,7 @@ LibGoblin_SrcFile   *
 /*----------------------------------------------------------------------
 OK
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_ClearSrcFile   0x13
 void
        SrcFile_ClearSrcFile(
                        LibGoblin_SrcFile       *p_srcfile )
@@ -185,6 +213,7 @@ void
 /*----------------------------------------------------------------------
 OK
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_FreeSrcFile    0x12
 LIBGOBLIN_SRCFILE_EXTERN
 int
        SrcFile_FreeSrcFile(
@@ -194,7 +223,13 @@ int
        
        assert( NULL != p_srcfile );
 
-       if( -0x01 == p_srcfile->i_id )  { return 0x00; }
+       if( -0x01 == p_srcfile->i_id )  {
+               LibBrownie_Error_SetErrorInfo(
+                       DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
+                       LOCATION( FUNCID_LibGoblin_SrcFile_FreeSrcFile ),
+                       errno, (QWord)0x00 , (QWord)0x00, __LINE__ );
+               return 0x00;
+       }
 
        i_id    = p_srcfile->i_id;
        SrcFile_ClearSrcFile( p_srcfile );
@@ -212,6 +247,7 @@ int
 /*----------------------------------------------------------------------
 OK
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_Init   0x01
 LIBGOBLIN_SRCFILE_EXTERN
 int
        SrcFile_Init(
@@ -221,12 +257,20 @@ int
        LibGoblin_SrcFile       *p_srcfile;
 
        if( 0 != gi_max_src_file )      {
+               LibBrownie_Error_SetErrorInfo(
+                       DRD64_ERROR( DRD64_ERROR_PTN_FAILCALL, 0x01, 0x01 ),
+                       LOCATION( FUNCID_LibGoblin_SrcFile_Init ),
+                       errno, (QWord)gi_max_src_file , (QWord)0x00, __LINE__ );
                return -0x01;
        }
 
        gp_src_file     = (LibGoblin_SrcFile *)malloc(
                                                sizeof( LibGoblin_SrcFile ) * LIBGOBLIN_SRCFILE_UNITS );
        if( NULL == gp_src_file )       {
+               LibBrownie_Error_SetErrorInfo(
+                       DRD64_ERROR( DRD64_ERROR_PTN_NOMEMORY, 0x01, 0x02 ),
+                       LOCATION( FUNCID_LibGoblin_SrcFile_Init ),
+                       errno, (QWord)0x00 , (QWord)0x00, __LINE__ );
                return -0x02;
        }
 
@@ -246,6 +290,7 @@ int
 /*----------------------------------------------------------------------
 OK
 ----------------------------------------------------------------------*/
+#define        FUNCID_LibGoblin_SrcFile_Term   0x02
 LIBGOBLIN_SRCFILE_EXTERN
 int
        SrcFile_Term(
index b96943a..75c09c3 100644 (file)
@@ -724,6 +724,9 @@ void Test_ObjectInfo_InsetDelete_test00( void )
        LibGoblin_ProgramInfo   *p_pginfo;
 
        // Init ----
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = ProgInfo_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -778,6 +781,8 @@ void Test_ObjectInfo_InsetDelete_test00( void )
        i_result        = ProgInfo_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -794,6 +799,9 @@ void Test_ObjectInfo_AllocFree_test00_001( void )
        LibGoblin_ObjectInfo    *p_objinfo;
 
        // Init ----
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = ProgInfo_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -886,6 +894,8 @@ void Test_ObjectInfo_AllocFree_test00_001( void )
        i_result        = ProgInfo_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -897,6 +907,9 @@ void Test_ObjectInfo_InitTerm_test00_001( void )
        int             i_result;
        LibGoblin_ProgramInfo   *p_pginfo;
 
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = ProgInfo_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -915,6 +928,8 @@ void Test_ObjectInfo_InitTerm_test00_001( void )
        i_result        = ProgInfo_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
index f6af577..9ed8fbc 100644 (file)
@@ -56,6 +56,7 @@ void Test_SrcFile_DispenseFree_test00_003( void )
        SrcFile_TestData        *p_test;
        SrcFile_TestData        *p_now;
 
+       // Generate TestData ----
        p_test  = (SrcFile_TestData *)malloc( sizeof( SrcFile_TestData ) * 500 );
        CU_ASSERT( NULL != p_test );
 
@@ -77,6 +78,10 @@ void Test_SrcFile_DispenseFree_test00_003( void )
                p_now->dw_hash  = Common_CalcDJBhash( p_now->str_filename);
        }
 
+       // Testing ---
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = SrcFile_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -103,6 +108,8 @@ void Test_SrcFile_DispenseFree_test00_003( void )
        i_result        = SrcFile_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -115,6 +122,9 @@ void Test_SrcFile_AllocFree_test00_002( void )
        int             i_result;
        LibGoblin_SrcFile       *p_srcfile;
 
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = SrcFile_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -155,6 +165,8 @@ void Test_SrcFile_AllocFree_test00_002( void )
        i_result        = SrcFile_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -166,6 +178,9 @@ void Test_SrcFile_AllocFree_test00_001( void )
        int             i_result;
        LibGoblin_SrcFile       *p_srcfile;
 
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = SrcFile_Init();
        CU_ASSERT( 0x00 == i_result );
 
@@ -178,6 +193,8 @@ void Test_SrcFile_AllocFree_test00_001( void )
        i_result        = SrcFile_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }
 
@@ -188,12 +205,17 @@ void Test_SrcFile_InitTerm_test00_001( void )
 {
        int             i_result;
 
+       i_result        = LibBrownie_Init();
+       CU_ASSERT( 0x00 == i_result );
+
        i_result        = SrcFile_Init();
        CU_ASSERT( 0x00 == i_result );
 
        i_result        = SrcFile_Term();
        CU_ASSERT( 0x00 == i_result );
 
+       LibBrownie_Term();
+
        return;
 }