@@ -1206,7 +1206,7 @@ static void reset_seg_len( void )
12061206 }
12071207}
12081208
1209- static void writepass1stuff ( const char * file_name )
1209+ static void writepass1stuff ( const char * name )
12101210/**************************************************/
12111211{
12121212 if ( CurrProc != NULL ) {
@@ -1216,14 +1216,10 @@ static void writepass1stuff( const char *file_name )
12161216#ifdef MULTI_THEADR
12171217 write_header ( GetModuleName () );
12181218 if ( file_name != NULL ) {
1219- write_header ( file_name );
1219+ write_header ( name );
12201220 }
12211221#else
1222- if ( Options .module_name != NULL ) {
1223- write_header ( Options .module_name );
1224- } else {
1225- write_header ( file_name );
1226- }
1222+ write_header ( name );
12271223#endif
12281224 write_autodep ();
12291225 if ( Globals .dosseg )
@@ -1284,7 +1280,7 @@ void WriteObjModule( void )
12841280 char * p ;
12851281 unsigned long prev_total ;
12861282 unsigned long curr_total ;
1287- const char * src_name ;
1283+ const char * name ;
12881284
12891285 AsmCodeBuffer = codebuf ;
12901286
@@ -1321,14 +1317,22 @@ void WriteObjModule( void )
13211317 put_private_proc_in_public_table ();
13221318 }
13231319#endif
1324- src_name = NULL ;
1320+ #ifdef MULTI_THEADR
1321+ name = NULL ;
13251322 if ( Options .debug_info ) {
1326- src_name = ModuleInfo .srcfile -> fullname ;
1323+ name = ModuleInfo .srcfile -> fullname ;
13271324 }
1325+ #else
1326+ if ( Options .debug_info || Options .module_name == NULL ) {
1327+ name = ModuleInfo .srcfile -> fullname ;
1328+ } else {
1329+ name = Options .module_name ;
1330+ }
1331+ #endif
13281332 for ( ;; ) {
13291333 if ( !write_to_file || Options .error_count > 0 )
13301334 break ;
1331- writepass1stuff ( src_name );
1335+ writepass1stuff ( name );
13321336 ++ Parse_Pass ;
13331337 rewind ( AsmFiles .file [ASM ] );
13341338 reset_seg_len ();
0 commit comments