Changeset 1989 in kBuild for vendor/gnumake/current/dir.c
- Timestamp:
- Oct 28, 2008 11:02:45 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/gnumake/current/dir.c
r900 r1989 1 1 /* Directory hashing for GNU Make. 2 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software 4 4 Foundation, Inc. 5 5 This file is part of GNU Make. … … 7 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 9 Foundation; either version 3 of the License, or (at your option) any later 10 version. 10 11 11 12 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY … … 14 15 15 16 You 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. */ 17 this program. If not, see <http://www.gnu.org/licenses/>. */ 18 18 19 19 #include "make.h" … … 458 458 Find its device and inode numbers, and look it up by them. */ 459 459 460 #ifdef WINDOWS32461 /* Remove any trailing '\'. Windows32 stat fails even on valid462 directories if they end in '\'. */463 if (p[-1] == '\\')464 p[-1] = '\0';465 #endif466 467 460 #ifdef VMS 468 461 r = vmsstat_dir (name, &st); 462 #elif defined(WINDOWS32) 463 { 464 char tem[MAXPATHLEN], *tstart, *tend; 465 466 /* Remove any trailing slashes. Windows32 stat fails even on 467 valid directories if they end in a slash. */ 468 memcpy (tem, name, p - name + 1); 469 tstart = tem; 470 if (tstart[1] == ':') 471 tstart += 2; 472 for (tend = tem + (p - name - 1); 473 tend > tstart && (*tend == '/' || *tend == '\\'); 474 tend--) 475 *tend = '\0'; 476 477 r = stat (tem, &st); 478 } 469 479 #else 470 480 EINTRLOOP (r, stat (name, &st)); 471 #endif472 473 #ifdef WINDOWS32474 /* Put back the trailing '\'. If we don't, we're permanently475 truncating the value! */476 if (p[-1] == '\0')477 p[-1] = '\\';478 481 #endif 479 482
Note:
See TracChangeset
for help on using the changeset viewer.