Changeset 1993 for trunk/src/kmk/vpath.c


Ignore:
Timestamp:
Oct 29, 2008, 1:37:51 AM (17 years ago)
Author:
bird
Message:

Merged in current GNU Make code (CVS from 2008-10-28). Ref #55.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/vpath.c

    r903 r1993  
    11/* Implementation of pattern-matching file search paths for GNU Make.
    22Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
    3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
     31998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
    44Foundation, Inc.
    55This file is part of GNU Make.
     
    77GNU Make is free software; you can redistribute it and/or modify it under the
    88terms of the GNU General Public License as published by the Free Software
    9 Foundation; either version 2, or (at your option) any later version.
     9Foundation; either version 3 of the License, or (at your option) any later
     10version.
    1011
    1112GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
     
    1415
    1516You should have received a copy of the GNU General Public License along with
    16 GNU Make; see the file COPYING.  If not, write to the Free Software
    17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
     17this program.  If not, see <http://www.gnu.org/licenses/>.  */
    1818
    1919#include "make.h"
     
    247247      /* Find the end of this entry.  */
    248248      v = p;
    249       while (*p != '\0' && *p != PATH_SEPARATOR_CHAR
     249      while (*p != '\0'
     250#if defined(HAVE_DOS_PATHS) && (PATH_SEPARATOR_CHAR == ':')
     251             /* Platforms whose PATH_SEPARATOR_CHAR is ':' and which
     252                also define HAVE_DOS_PATHS would like us to recognize
     253                colons after the drive letter in the likes of
     254                "D:/foo/bar:C:/xyzzy".  */
     255             && (*p != PATH_SEPARATOR_CHAR
     256                 || (p == v + 1 && (p[1] == '/' || p[1] == '\\')))
     257#else
     258             && *p != PATH_SEPARATOR_CHAR
     259#endif
    250260             && !isblank ((unsigned char)*p))
    251261        ++p;
     
    254264      /* Make sure there's no trailing slash,
    255265         but still allow "/" as a directory.  */
    256 #if defined(__MSDOS__) || defined(__EMX__)
     266#if defined(__MSDOS__) || defined(__EMX__) || defined(HAVE_DOS_PATHS)
    257267      /* We need also to leave alone a trailing slash in "d:/".  */
    258268      if (len > 3 || (len > 1 && v[1] != ':'))
Note: See TracChangeset for help on using the changeset viewer.