OSDN Git Service

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

gdb/ChangeLog
gdb/source.c

index de950fe..e4da29e 100644 (file)
@@ -1,5 +1,10 @@
 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.
        * gdbtypes.c (init_type): Mark "char" as TYPE_FLAG_NOSIGN.
        (integer_types_same_name_p): New function.
index c2991b5..e6cd3f3 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;