OSDN Git Service

(LibGoblin)
[drdeamon64/drdeamon64.git] / libgoblin / drd64_libgoblin_dwarf_line.c
index 9762b64..52f8334 100644 (file)
@@ -40,100 +40,22 @@ Comment:
 
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
-/*
-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--;
        }
 
@@ -314,8 +236,6 @@ int
        if( 1 > qw_remain-- )   { return -0x01; }
        b_byte  = *pb_line++;
 
-       SrcFile_ClearSrcFileTable_inBinaryInfo( p_binfo );
-
        i_files = 1;
        while( '\0' != b_byte)  {
                // Read FileName ---
@@ -350,7 +270,7 @@ int
                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++;
@@ -359,14 +279,15 @@ int
                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;
 }