From: pavenis AT lanet DOT lv To: "Eli Zaretskii" , djgpp-workers AT delorie DOT com Date: Tue, 20 Mar 2001 10:32:37 +0200 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: About release of gcc-2.95.3 for DJGPP Message-ID: <3AB731C5.14351.37D0EA@localhost> In-reply-to: <7263-Mon19Mar2001220417+0200-eliz@is.elta.co.il> References: <3AB63383 DOT 27090 DOT 141E220 AT localhost> (pavenis AT lanet DOT lv) X-mailer: Pegasus Mail for Win32 (v3.12c) Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 19 Mar 2001, at 22:04, Eli Zaretskii wrote: > > From: pavenis AT lanet DOT lv > > Date: Mon, 19 Mar 2001 16:27:47 +0200 > Is gcov_file_name an absolute file name or just the last portion, > without leading directories? If the former, you will find the wrong > dot, if some of the leading directories have dots in their names. Of course I should use basename() there. But as it was stated in another message, this can cause data loss on non LFN systems when some veird file extensions are being used. Andris --- gcov.c~1 Mon Mar 19 15:55:38 2001 +++ gcov.c Tue Mar 20 09:49:12 2001 @@ -1284,6 +1284,23 @@ the same basename, e.g. tmp.c and tmp.h. */ strcat (gcov_file_name, ".gcov"); +#ifdef __DJGPP__ + if (!_use_lfn(gcov_file_name)) + { + char *s1, *s2=NULL; + for (s1=basename(gcov_file_name); *s1 && *s1!='.'; s1++); + if (*s1) for (s2=s1+1; *s2 && *s2!='.'; s2++); + if (s2 && *s2=='.') + { + int l; + s1++; l=s2-s1; if (l>2) l=2; + s1 = s1+l; s2++; + while (*s2) { *s1++=*s2++; } + *s1=0; + } + } +#endif + gcov_file = fopen (gcov_file_name, "w"); if (gcov_file == NULL)