* A few W32 fixes for backslash support.
authorPaul Smith <psmith@gnu.org>
Thu, 2 Sep 1999 00:31:21 +0000 (00:31 +0000)
committerPaul Smith <psmith@gnu.org>
Thu, 2 Sep 1999 00:31:21 +0000 (00:31 +0000)
ChangeLog
function.c
implicit.c
main.c
read.c

index 28805a5..3b80863 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 1999-09-01  Paul D. Smith  <psmith@gnu.org>
 
+       * function.c (IS_PATHSEP) [WINDOWS32]: Allow backslash separators
+       for W32 platforms.
+       * read.c (record_files) [WINDOWS32]: Allow backslash separators
+       for W32 platforms.
+       * implicit.c (pattern_search) [WINDOWS32]: Allow backslash
+       separators for W32 platforms.
+
        * configure.in (MAKE_HOST): Define it to be the canonical build
        host info, now that we need AC_CANONICAL_HOST anyway (for large
        file support).
index 0acfd7e..f6f482a 100644 (file)
@@ -472,7 +472,7 @@ func_origin(o, argv, funcname)
 #ifdef VMS
 #define IS_PATHSEP(c) ((c) == ']')
 #else
-#ifdef __MSDOS__
+#if defined(__MSDOS__) || defined(WINDOWS32)
 #define IS_PATHSEP(c) ((c) == '/' || (c) == '\\')
 #else
 #define IS_PATHSEP(c) ((c) == '/')
index b16ad6e..5ff7e18 100644 (file)
@@ -168,7 +168,7 @@ pattern_search (file, archive, depth, recursions)
       lastslash = rindex (filename, ']');
 #else
       lastslash = rindex (filename, '/');
-#ifdef __MSDOS__
+#if defined(__MSDOS__) || defined(WINDOWS32)
       /* Handle backslashes (possibly mixed with forward slashes)
         and the case of "d:file".  */
       {
diff --git a/main.c b/main.c
index b94dda3..86921bc 100644 (file)
--- a/main.c
+++ b/main.c
@@ -2540,18 +2540,20 @@ print_version ()
     /* Do it only once.  */
     return;
 
-  printf ("%sGNU Make %s (%s)", precede, version_string, make_host);
+  printf ("%sGNU Make %s", precede, version_string);
   if (remote_description != 0 && *remote_description != '\0')
     printf ("-%s", remote_description);
 
-  printf (_(", by Richard Stallman and Roland McGrath.\n\
+  printf (_(" (%s)\n\
+%s  by Richard Stallman and Roland McGrath.\n\
 %sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n\
 %s\tFree Software Foundation, Inc.\n\
 %sThis is free software; see the source for copying conditions.\n\
 %sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 %sPARTICULAR PURPOSE.\n\n\
 %sReport bugs to <bug-make@gnu.org>.\n\n"),
-         precede, precede, precede, precede, precede, precede);
+          make_host,
+         precede, precede, precede, precede, precede, precede, precede);
 
   printed_version = 1;
 
diff --git a/read.c b/read.c
index 400a62c..bf2be05 100644 (file)
--- a/read.c
+++ b/read.c
@@ -692,7 +692,9 @@ read_makefile (filename, flags)
                                          | (noerror ? RM_DONTCARE : 0)))
                  && ! noerror)
                error (&fileinfo, "%s: %s", name, strerror (errno));
-              free(name);
+
+              /* We can't free NAME here, in case some of the commands,
+                 etc. still contain references to the filename.  */
            }
 
          /* Free any space allocated by conditional_line.  */
@@ -1725,7 +1727,7 @@ record_files (filenames, pattern, pattern_percent, deps, cmds_started,
         not start with a `.', unless it contains a slash.  */
       if (default_goal_file == 0 && set_default
          && (*name != '.' || index (name, '/') != 0
-#ifdef __MSDOS__
+#if defined(__MSDOS__) || defined(WINDOWS32)
                           || index (name, '\\') != 0
 #endif
              ))