* source.c (openp): If the file does not exist don't necessarily
authorDaniel Jacobowitz <drow@false.org>
Mon, 13 Jan 2003 20:11:47 +0000 (20:11 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 13 Jan 2003 20:11:47 +0000 (20:11 +0000)
search the path.

gdb/ChangeLog
gdb/source.c

index de950fe68155ca48e42203068b476125fa14460c..e4da29efc153cc858b60dda6d922d95fa9ddda2c 100644 (file)
@@ -1,3 +1,8 @@
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+       * source.c (openp): If the file does not exist don't necessarily
+       search the path.
+
 2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
 
        Fix PR gdb/872.
index c2991b5bfd1f995acb74ef3ed33e3a440ec59765..e6cd3f36a2f1ecc3b58fa8cc7086c4a048b6c4cb 100644 (file)
@@ -674,14 +674,21 @@ openp (const char *path, int try_cwd_first, const char *string,
   mode |= O_BINARY;
 #endif
 
-  if ((try_cwd_first || IS_ABSOLUTE_PATH (string)) && is_regular_file (string))
+  if (try_cwd_first || IS_ABSOLUTE_PATH (string))
     {
       int i;
-      filename = alloca (strlen (string) + 1);
-      strcpy (filename, string);
-      fd = open (filename, mode, prot);
-      if (fd >= 0)
-       goto done;
+
+      if (is_regular_file (string))
+       {
+         filename = alloca (strlen (string) + 1);
+         strcpy (filename, string);
+         fd = open (filename, mode, prot);
+         if (fd >= 0)
+           goto done;
+       }
+      else
+       fd = -1;
+
       for (i = 0; string[i]; i++)
        if (IS_DIR_SEPARATOR (string[i]))
          goto done;