void IncMemClose( lib_handle lp ) { //==================================== // Close a library member that was included (source only). SDClose( lp ); }
void FiniObj( void ) { //======================= // Release memory allocated for object code. if( ObjCode != NULL ) { FMemFree( ObjCode ); ObjCode = NULL; } if( PageFile != NULL ) { SDClose( PageFile ); PageFile = NULL; SDScratch( PageFileBuff ); } }
void CLIDump( char *filename ) { /******************************/ file_handle fp; SDSetAttr( REC_FIXED | SEEK ); fp = SDOpen( filename, WRITE_FILE ); chkIOErr( fp, SM_OPENING_FILE, filename ); CLILock(); CLIRewind(); CreateBrowseFile( fp, &Sections[DW_DEBUG_ABBREV], &Sections[DW_DEBUG_INFO], &Sections[DW_DEBUG_REF], &Sections[DW_DEBUG_LINE], &Sections[DW_DEBUG_MACINFO], CLIRead, filename ); SDClose( fp ); }
void CLIClear( void ) { /****************/ int x = 0; for( x = 0; x < DW_DEBUG_MAX; x++ ) { if ( ( Sections[x].sec_type == FILE_SECTION ) && Sections[x].u1.fp ) { SDClose( Sections[x].u1.fp ); if ( Sections[x].u2.filename ) { SDScratch( Sections[x].u2.filename ); FMemFree( Sections[x].u2.filename ); } } else if ((Sections[x].sec_type == MEM_SECTION) && Sections[x].u2.data){ FMemFree( Sections[x].u2.data ); } memset( &(Sections[x] ), 0, sizeof( section_data ) ); } }