delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/11/13/14:10:44

From: hughw AT scoutsys DOT com (Hugh Winkler)
Subject: FW: Fix for B20 make bug
13 Nov 1998 14:10:44 -0800 :
Message-ID: <000301be0eca$6a5a2d70$0c0aa8c0.cygnus.gnu-win32@harry.scoutsys.com>
Reply-To: <hughw AT scoutsys DOT com>
Mime-Version: 1.0
To: <gnu-win32 AT cygnus DOT com>

Hi all,

This patch repairs  the file ./src/make/read.c in cygwin b20 source
distribution, fixing bug where you couldn't have multiple targets beginning
with '/'.

Snip the patch below into a file named say ./src/make/patchfile. Save a copy
of read.c if you want. Then
  cd ./src/make
  patch read.c patchfile
and run make.

Course you could just get the repaired binary
ftp://ftp.scoutsys.com/su/cygwin/make.exe.bz2

Maintainer please remove my comment after checking it. I suspect the check,
  stopchar == ':',
is only there due to cut and paste from other code in the file, and what
really is needed is just to see whether
  p[0] == ':'.

But I left the stopchar comparison in anyway.

xxx beginning of patchfile xxx
--- read_old.c  Thu Jan 15 12:10:07 1998
+++ read.c      Thu Nov 12 22:29:31 1998
@@ -1642,8 +1642,11 @@
 /* CYGNUS LOCAL: or __CYGWIN32__ */
 #if defined (WIN32) || defined (__CYGWIN32__)
       /* For WIN32, skip a "C:\..." or "C:/...". */
+      /* hvw Nov. 12 98: is this algorithm correct? Who cares
+       *     what the stopchar is? */
       if (stopchar == ':' &&
           p != 0 &&
+          p[0] == ':' &&
           (p[1] == '\\' || p[1] == '/') &&
           isalpha (p[-1])) {
         p = end_of_token_w32(++p, ':');
xxx end of patchfile xxx


Hugh Winkler
Scout Systems, Inc.

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019