public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [vms/committed]: avoid wrong output by vmsdbgout.c for long path
@ 2011-04-21 13:09 Tristan Gingold
  0 siblings, 0 replies; only message in thread
From: Tristan Gingold @ 2011-04-21 13:09 UTC (permalink / raw)
  To: gcc-patches@gcc.gnu.org Patches

Hi,

vmsdbgout could generate buggy records for long path.  This happened while cross-compiling.

Committed on trunk.

Tristan.

2011-04-21  Tristan Gingold  <gingold@adacore.com>

	* vmsdbgout.c (write_srccorr): Compute file length from the string.
	(dst_file_info_struct): Remove flen field.
	(lookup_filename): Remove code that set flen field.

Index: gcc/vmsdbgout.c
===================================================================
--- gcc/vmsdbgout.c	(revision 172821)
+++ gcc/vmsdbgout.c	(working copy)
@@ -71,7 +71,6 @@
   long ebk;
   short ffb;
   char rfo;
-  char flen;
 }
 dst_file_info_entry;
 
@@ -932,7 +931,7 @@
   int src_command_size;
   int linesleft = file_info_entry.max_line;
   int linestart = file_info_entry.listing_line_start;
-  int flen = file_info_entry.flen;
+  int flen = strlen (file_info_entry.file_name);
   int linestodo = 0;
   DST_SOURCE_CORR src_header;
   DST_SRC_COMMAND src_command;
@@ -977,7 +976,7 @@
   src_command.dst_a_src_cmd_fields.dst_a_src_decl_src.dst_b_src_df_rms_rfo
     = file_info_entry.rfo;
   src_command.dst_a_src_cmd_fields.dst_a_src_decl_src.dst_b_src_df_filename
-    = file_info_entry.flen;
+    = flen;
 
   src_header.dst_a_source_corr_header.dst__header_length.dst_w_length
     = DST_K_SOURCE_CORR_HEADER_SIZE + src_command_size - 1;
@@ -1332,7 +1331,6 @@
   register char *fn;
   register unsigned i;
   const char *fnam;
-  char flen;
   long long cdt = 0;
   long ebk = 0;
   short ffb = 0;
@@ -1341,7 +1339,6 @@
   int ver = 0;
 
   fnam = full_name (file_name);
-  flen = strlen (fnam);
 
   /* Check to see if the file name that was searched on the previous call
      matches this file name. If so, return the index.  */
@@ -1386,7 +1383,6 @@
   file_info_table[file_info_table_in_use].ebk = ebk;
   file_info_table[file_info_table_in_use].ffb = ffb;
   file_info_table[file_info_table_in_use].rfo = rfo;
-  file_info_table[file_info_table_in_use].flen = flen;
 
   last_file_lookup_index = file_info_table_in_use++;
   return last_file_lookup_index;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-04-21 13:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-21 13:09 [vms/committed]: avoid wrong output by vmsdbgout.c for long path Tristan Gingold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).