}
p_textinfo = NULL;
- if(( 0 == dw_cnt ) && ( gdw_max_textinfo == gdw_alloc_textinfo )) {
- p_textinfo = (Drd64_Drcc_TextInfo *)realloc(
- gp_textinfo, sizeof( Drd64_Drcc_TextInfo )
- * (gdw_alloc_textinfo + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO ) );
- if( NULL == p_textinfo ) { return NULL; }
-
- gp_textinfo = p_textinfo;
- gdw_alloc_textinfo += DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO;
- p_textinfo = NULL;
+ if( 0 == dw_cnt ) {
+ if( gdw_max_textinfo == gdw_alloc_textinfo ) {
+ p_textinfo = (Drd64_Drcc_TextInfo *)realloc(
+ gp_textinfo, sizeof( Drd64_Drcc_TextInfo )
+ * (gdw_alloc_textinfo + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO ) );
+ if( NULL == p_textinfo ) { return NULL; }
+
+ gp_textinfo = p_textinfo;
+ gdw_alloc_textinfo += DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO;
+ p_textinfo = NULL;
+ }
dw_cnt = gdw_max_textinfo + 1;
}
{
DWord dw_id;
- if( NULL == p_textinfo ) { return 0x01; }
+ if( NULL == p_textinfo ) { return 0x01; }
+ if( -1 == p_textinfo->i_id ) { return 0x02; }
/* Clear TextInfo Struct */
dw_id = (DWord) p_textinfo->i_id;
if( NULL == gp_textinfo) { return 0x01; }
+/*
for( dw_cnt = gdw_max_textinfo; dw_cnt > 0; dw_cnt-- ) {
p_textinfo = (gp_textinfo + dw_cnt - 1);
assert( NULL != p_textinfo );
p_textinfo->i_id = -1;
}
+*/
free( gp_textinfo );
gp_textinfo = NULL;
#include"test_drcc.h"
+/* DrCC_EditText_AllocTextInfo ****************************************/
+/*--------------------------------------------------------------------*/
+void Test_DrCC_EditText_AllocTextInfo_test00_001(void)
+{
+ int i_cnt;
+ int i_result;
+ Drd64_Drcc_TextInfo *p_tinfo[DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2 + 2];
+
+ for( i_cnt = 0; i_cnt < (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2); i_cnt++ ) {
+ p_tinfo[i_cnt] = DrCC_EditText_AllocTextInfo();
+ CU_ASSERT_FATAL( NULL != p_tinfo[i_cnt] );
+ CU_ASSERT( i_cnt == p_tinfo[i_cnt]->i_id );
+ }
+
+ for( i_cnt = (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2);
+ i_cnt < ((DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2)
+ + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO);
+ i_cnt++ ) {
+ i_result = DrCC_EditText_FreeTextInfo( p_tinfo[i_cnt] );
+ CU_ASSERT_FATAL( 0x00 == i_result );
+ p_tinfo[i_cnt] = NULL;
+ }
+
+ for( i_cnt = (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2);
+ i_cnt < ((DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO / 2)
+ + DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO);
+ i_cnt++ ) {
+ p_tinfo[i_cnt] = DrCC_EditText_AllocTextInfo();
+ CU_ASSERT_FATAL( NULL != p_tinfo[i_cnt] );
+ }
+
+ for( i_cnt = 0; i_cnt < (DRD64_DRCC_DEFAULT_ALLOC_TEXTINFO * 2); i_cnt++ ) {
+ i_result = DrCC_EditText_FreeTextInfo( p_tinfo[i_cnt] );
+ CU_ASSERT_FATAL( 0x00 == i_result );
+ p_tinfo[i_cnt] = NULL;
+ }
+
+
+ return;
+}
+
+
+/* DrCC_EditText_Init *************************************************/
/*--------------------------------------------------------------------*/
void Test_DrCC_EditText_Init_test00_001(void)
{
int i_result;
i_result = DrCC_EditText_Init();
- CU_ASSERT( 0x01 == i_result );
+ CU_ASSERT( 0x00 == i_result );
return;
}
int i_result;
i_result = DrCC_EditText_Term();
- CU_ASSERT( 0x01 == i_result );
+ CU_ASSERT( 0x00 == i_result );
return;
}
pt_edittext = CU_add_suite( "DrCC_EditText", NULL, NULL );
- CU_add_test( pt_edittext, "EditText_Init_test00_001", Test_DrCC_EditText_Init_test00_001 );
- CU_add_test( pt_edittext, "EditText_Init_test00_002", Test_DrCC_EditText_Init_test00_002 );
+ CU_add_test( pt_edittext, "EditText_Init_test00_001",
+ Test_DrCC_EditText_Init_test00_001 );
+ CU_add_test( pt_edittext, "EditText_Term_test00_001",
+ Test_DrCC_EditText_Term_test00_001 );
+
+ CU_add_test( pt_edittext, "EditText_Init_test00_002",
+ Test_DrCC_EditText_Init_test00_002 );
+
+ CU_add_test( pt_edittext, "EditText_AllocTextInfo_test00_001",
+ Test_DrCC_EditText_AllocTextInfo_test00_001 );
- CU_add_test( pt_edittext, "EditText_Term_test00_001", Test_DrCC_EditText_Term_test00_001 );
- CU_add_test( pt_edittext, "EditText_Term_test00_002", Test_DrCC_EditText_Term_test00_002 );
+ CU_add_test( pt_edittext, "EditText_Term_test00_002",
+ Test_DrCC_EditText_Term_test00_002 );
return 0x00;
}
CU_ASSERT_FATAL( 0x00 == i_result );
CU_ASSERT_FATAL( t_ftype.b_type == DRD64_DRCC_FILETYPE_TEXT );
CU_ASSERT_FATAL( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_CSRC );
+ CU_ASSERT_FATAL( t_ftype.dw_filesize > 0 );
return;
}
CU_ASSERT_FATAL( 0x00 == i_result );
CU_ASSERT_FATAL( t_ftype.b_type == DRD64_DRCC_FILETYPE_TEXT );
CU_ASSERT_FATAL( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_CHEADER );
+ CU_ASSERT_FATAL( t_ftype.dw_filesize > 0 );
return;
}
CU_ASSERT_FATAL( 0x00 == i_result );
CU_ASSERT_FATAL( t_ftype.b_type == DRD64_DRCC_FILETYPE_BINARY );
CU_ASSERT_FATAL( t_ftype.w_subtype == DRD64_DRCC_FILESUBTYPE_ELF_OBJ );
+ CU_ASSERT_FATAL( t_ftype.dw_filesize > 0 );
return;
}