void XWriteImports( void ) /*******************************/ { symbol * sym; for( sym = HeadSym; sym != NULL; sym = sym->link ) { if( IS_SYM_IMPORTED(sym) && sym->p.import != NULL ) { if( !(FmtData.type & MK_NOVELL) || sym->p.import != DUMMY_IMPORT_PTR ) { if(sym->prefix && (strlen(sym->prefix) > 0)) WriteFormat( 0, "%s@%s", sym->prefix, sym->name); else WriteFormat( 0, "%s", sym->name ); #ifdef _OS2 if( FmtData.type & (MK_OS2|MK_PE|MK_WIN_VXD) ) { WriteFormat( 36, "%s", ImpModuleName( sym->p.import ) ); } #endif WriteMapNL( 1 ); } } } }
void MapInit( void ) /*************************/ { char tim[8 + 1]; char dat[8 + 1]; char *ptr; struct tm *localt; char *msg; Absolute_Seg = FALSE; Buffering = FALSE; // buffering on/off. if( (MapFlags & MAP_FLAG) == 0 ) return; MapFile = QOpenRW( MapFName ); StartMapBuffering(); localt = localtime( &StartT ); MapCol = 0; msg = MsgStrings[PRODUCT]; BufWrite( msg, strlen( msg ) ); WriteMapNL( 1 ); msg = MsgStrings[COPYRIGHT]; BufWrite( msg, strlen( msg ) ); WriteMapNL( 1 ); msg = MsgStrings[COPYRIGHT2]; BufWrite( msg, strlen( msg ) ); WriteMapNL( 1 ); ptr = tim; ptr = PutDec( ptr, localt->tm_hour ); *ptr++ = ':'; ptr = PutDec( ptr, localt->tm_min ); *ptr++ = ':'; ptr = PutDec( ptr, localt->tm_sec ); *ptr = '\0'; ptr = dat; ptr = PutDec( ptr, localt->tm_year ); *ptr++ = '/'; ptr = PutDec( ptr, localt->tm_mon + 1 ); *ptr++ = '/'; ptr = PutDec( ptr, localt->tm_mday ); *ptr = '\0'; LnkMsg( MAP+MSG_CREATED_ON, "12", dat, tim ); StopMapBuffering(); }
void WriteGroups( void ) /*****************************/ { group_entry *currgrp; if( Groups != NULL ) { WriteBox( MSG_MAP_BOX_GROUP ); Msg_Write_Map( MSG_MAP_TITLE_GROUP_0 ); Msg_Write_Map( MSG_MAP_TITLE_GROUP_1 ); WriteMapNL( 1 ); for( currgrp = Groups; currgrp != NULL; currgrp = currgrp->next_group ) { if( !currgrp->isautogrp ) { /* if not an autogroup */ WriteFormat( 0, "%s", currgrp->sym->name ); WriteFormat( 32, "%a", &currgrp->grp_addr ); WriteFormat( 53, "%h", currgrp->totalsize ); WriteMapNL( 1 ); } } } }
static void WriteBox( unsigned int msgnum ) /*****************************************/ { char box_buff[RESOURCE_MAX_SIZE]; char msg_buff[RESOURCE_MAX_SIZE]; int i; Msg_Get( msgnum, msg_buff ); WriteMapNL( 2 ); box_buff[0] = '+'; for( i = 2; i < strlen( msg_buff ); i++ ) { box_buff[i-1] = '-'; } box_buff[i-1] = '+'; box_buff[i] = '\0'; WriteMap( "%t24%s", "", box_buff ); WriteMap( "%t24%s", "", msg_buff ); WriteMap( "%t24%s", "", box_buff ); WriteMapNL( 1 ); }
static void WriteAbsSeg( void *_leader ) /**************************************/ { seg_leader *leader = _leader; if( leader->info & SEG_ABSOLUTE ) { WriteFormat( 0, "%s", leader->segname ); WriteFormat( 24, "%s", leader->class->name ); WriteFormat( 40, "%a", &leader->seg_addr ); WriteFormat( 60, "%h", leader->size ); WriteMapNL( 1 ); }
void XReportSymAddr( symbol *sym ) /***************************************/ { char star; if( sym->info & SYM_REFERENCED ) { if( IS_SYM_IMPORTED(sym) || (FmtData.type & MK_ELF && IsSymElfImported(sym)) ) { star = 'i'; } else { star = ' '; } } else if( sym->info & SYM_LOCAL_REF ) { star = '+'; } else { star = '*'; } WriteSym( sym, star ); WriteMapNL( 1 ); }