Question about making changes...

fortinj@ibm.net fortinj@ibm.net
Wed Mar 3 17:19:00 GMT 1999


All,
	The following is an e-mail posted to the regular list.  I was curious
and decided to examine this.

Alexander Dupuy wrote:
> 
> CygWin applications converting a relative pathname with drive letter A:FOO
> (but not A:\FOO, as that specifies an absolute path on A:) will get //AFOO
> as the POSIX pathname, which is incorrect.  ("cygpath -u A:FOO" to confirm
> this). The correct conversion should take into account $!A, and provide an
> absolute pathname (since POSIX pathnames can't support a relative pathname
> to a file on another drive.  I'd provide a fix for this myself, but I just
> started with CYGWIN, and haven't loaded sources yet.
> 
> @alex
> --
> mailto:dupuy@hydraweb.com
> 

	I had (have) the jan 15 snapshot installed.  I figured that this was a
decent way to start understanding the underpinnings of cygwin.

	I was pretty happy.  I fixed what looked like a bug in path.cc
( see diff that follows) and was going to send it in to be looked at.
However, I looked at the newest snapshots and saw that path.cc had been
pretty much rewritten.  My fixes were not appropriate for the rewrite.

	My question is this.... Without downloading, and 'hopefully'
recompiling every snapshot, how do I know when, and where to start
debugging.  The time I spent was not a waste of time because I did get
to examine, and debug in cygwin1.dll  but it was frustrating when I
discovered my changes were not usable.  And there seems to be a HUGE
difference btwn the B20.1 release and the current snapshots.  This is a
good thing I believe, but does cause complications in keeping code and
DLLs in sync.

	Any and all comments will be appreciated, and thanks...

John Fortin
fortinj@ibm.net


*** path.cc	Wed Mar 03 01:02:40 1999
--- path.cc.old	Wed Mar 03 01:03:36 1999
*************** build_slash_drive_prefix (const char *pa
*** 2070,2077 ****
    buf[0] = '/';
    buf[1] = '/';
    buf[2] = path[0];
!   buf[3] = '/';
!   return buf + 4;
  }
  
  /* Convert PATH (for which slash_drive_prefix_p returns 1) to WIN32
form.  */
--- 2070,2076 ----
    buf[0] = '/';
    buf[1] = '/';
    buf[2] = path[0];
!   return buf + 3;
  }
  
  /* Convert PATH (for which slash_drive_prefix_p returns 1) to WIN32
form.  */


More information about the Cygwin-developers mailing list