Subject: [Patch] make 3.79.1-5 vpath directive in file 'read.c'
From: "Johan Bezem" <[email-masked]>
To: CygWin Mailing List <[email-masked]>
Date: Mon, 22 Apr 2002 10:44:05 +0200
Newsgroups: csk.development

Hi,

After supplying a patch on March 22nd
(http://sources.redhat.com/ml/cygwin/2002-03/msg01323.html), I've found
a bug in my patch, so I'll resubmit the fix. Before checking on zero
pointers, make occasionally crashed...
I checked the vpath.c file, it seems unaffected, so the patch delivered
is still valid.

The ChangeLog entry is new, the diff refers to the original file
'read.c', so this patch will apply both in one turn.

Have fun,

Johan Bezem
CSK Software AG

### ChangeLog ###
2002-04-22 Johan Bezem <[email-masked]>

* read.c (read_makefile) [__CYGWIN__]: Added a check for an empty vpath
pathname when converting DOS to canonical pathnames.

### vpath.c-patch ###
--- read.orig.c	Fri Mar 22 10:51:07 2002
+++ read.c	Mon Apr 22 09:57:16 2002
@@ -648,6 +648,24 @@ read_makefile (filename, flags)
 	  else
 	    /* No pattern means remove all previous selective VPATH's.  */
 	    pattern = 0;
+
+    /* CYGNUS LOCAL Cygwin */
+    /* FIXME: should this conversion only take place when in
unixy_mode? */
+#ifdef __CYGWIN__
+    if (p != 0)
+      {
+      /* if a win32 VPATH path list, convert to posix path list */
+        if (!cygwin_posix_path_list_p (p))
+          {
+            register char *posixp = (char *)
+                                    alloca
(cygwin_win32_to_posix_path_list_buf_size (p));
+            cygwin_win32_to_posix_path_list (p, posixp);
+            p = posixp;
+          }
+      }
+#endif /* __CYGWIN__ */
+    /* END CYGNUS LOCAL */
+
 	  construct_vpath_list (pattern, p);
 	  if (pattern != 0)
 	    free (pattern);

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/