/*----------------------------------------------------------------------
----------------------------------------------------------------------*/
-/*
-Byte *
- LibGoblin_DwarfLine_Read_LineHeader_FileNameData(
- LibGoblin_Dwarf_LineSection *pt_line,
- Byte *pb_data,
- QWord *pqw_remain,
- int i_files )
-{
- QWord qw_qword;
- Byte b_byte;
-
- // Read FileName ---
- b_byte = *pb_data;
- pt_line->t_filename[ i_files ].pstr_srcfilename
- = (char *)(pb_data - 1);
- while( ( 0 < *pqw_remain) && ('\0' != b_byte) ) {
- (*pqw_remain)--;
- b_byte = *pb_data++;
- }
-
- // Read Directory Index ---
- pb_data = DWARF_Common_DecodeULEB128(
- &qw_qword, pb_data, pqw_remain );
- if( NULL == pb_data ) { return NULL; }
- pt_line->t_filename[ i_files ].dw_dirindex = (DWord)qw_qword;
-
- // Read File-Date ---
- pb_data = DWARF_Common_DecodeULEB128(
- &qw_qword, pb_data, pqw_remain );
- if( NULL == pb_data ) { return NULL; }
- pt_line->t_filename[ i_files ].qw_date = qw_qword;
-
- // Read File-Size ---
- pb_data = DWARF_Common_DecodeULEB128(
- &qw_qword, pb_data, pqw_remain );
- if( NULL == pb_data ) { return NULL; }
- pt_line->t_filename[ i_files ].qw_filesize = qw_qword;
-
- return pb_data;
-}
-*/
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
-/*
-Byte *
- LibGoblin_DwarfLine_Read_LineHeader_FileNames(
- LibGoblin_Dwarf_LineSection *pt_line,
- Byte *pb_data,
- QWord *pqw_remain )
-{
- int i_files;
- Byte b_byte;
-
- i_files = 0;
-
- if( 1 > (*pqw_remain)-- ) { return NULL; }
- b_byte = *pb_data++;
-
- while( '\0' != b_byte) {
- pb_data = LibGoblin_DwarfLine_Read_LineHeader_FileNameData(
- pt_line, pb_data, pqw_remain, i_files );
-
- if( 1 > (*pqw_remain)-- ) { return NULL; }
- b_byte = *pb_data++;
-
- i_files++;
- }
-
- pt_line->i_num_filename = i_files;
-
- return pb_data;
-}
-*/
-
-/*----------------------------------------------------------------------
-----------------------------------------------------------------------*/
char *
DWARF_Line_GetPath_fromLineHeader(
Byte *pb_path,
DWord dw_dirindex )
{
char *pstr_path;
- DWord dw_cnt;
if( 0 == dw_dirindex )
{ return NULL; }
dw_dirindex--;
- pstr_path = pb_path;
+ pstr_path = (char *)pb_path;
while(( '\0' != *pb_path ) && ( 0 < dw_dirindex )) {
while( '\0' != *pb_path++ );
- pstr_path = pb_path;
+ pstr_path = (char *)pb_path;
dw_dirindex--;
}
if( 1 > qw_remain-- ) { return -0x01; }
b_byte = *pb_line++;
- SrcFile_ClearSrcFileTable_inBinaryInfo( p_binfo );
-
i_files = 1;
while( '\0' != b_byte) {
// Read FileName ---
p_srcfile = SrcFile_DispenseSrcFile( p_bfile, str_filename, pstr_path );
if( NULL == p_srcfile ) { return -0x02; }
- i_result = SrcFile_RegistSrcFileTable_inBinaryInfo( p_binfo, p_srcfile, i_files );
+ i_result = SrcFile_RegistSrcFileTable_inBinaryInfo( p_binfo, p_srcfile );
if( 0x00 != i_result ) { return -0x03; }
i_files++;
b_byte = *pb_line++;
}
-/* for DEBUG
- for( i_pos = 1; i_pos < i_files; i_pos++ ) {
+// for DEBUG
+ for( i_pos = 0; i_pos < i_files; i_pos++ ) {
i_result = SrcFile_GetSrcFileTable_inBinaryInfo( p_binfo, i_pos );
p_srcfile = SrcFile_GetSrcFile( p_bfile, i_result );
- printf(" debug: %d > %s/%s\n", i_pos, p_srcfile->str_srcpath, p_srcfile->str_filename );
+ printf(" Debug SrcFileTable: %2d > [%2d] %s/%s\n",
+ i_pos, p_srcfile->i_id, p_srcfile->str_srcpath, p_srcfile->str_filename );
}
-*/
+
return 0x00;
}