diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2002-04-18 10:35:40 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@users.sourceforge.net> | 2002-04-18 10:35:40 +0000 |
commit | d7e8ca2ebc861226d614842e917b58e4dcd6c0e6 (patch) | |
tree | cfa69b60547bc3080ecaa31bf1cb9a75b89cf1f3 | |
parent | 8a32980a3d0f0ee0487c65ca760971dea46f2336 (diff) | |
download | gdb-d7e8ca2ebc861226d614842e917b58e4dcd6c0e6.tar.gz |
* mingwex/dirent.c (opendir): Convert given pathname to
absolute pathname.
-rw-r--r-- | winsup/mingw/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/mingw/mingwex/dirent.c | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 8d1fdb065ee..c27951cfe8d 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,8 @@ +2002-04-18 Pascal Obry <obry@gnat.com> + + * mingwex/dirent.c (opendir): Convert given pathname to + absolute pathname. + 2002-04-17 Danny Smith <dannysmith@users.sourceforge.net> * Makefile.in (INCLUDES): Add "-iwithprefixbefore include" to diff --git a/winsup/mingw/mingwex/dirent.c b/winsup/mingw/mingwex/dirent.c index e3885f0eac1..9eb1a502cc1 100644 --- a/winsup/mingw/mingwex/dirent.c +++ b/winsup/mingw/mingwex/dirent.c @@ -40,6 +40,7 @@ opendir (const char *szPath) { DIR *nd; unsigned int rc; + char szFullPath[MAX_PATH]; errno = 0; @@ -56,7 +57,7 @@ opendir (const char *szPath) } /* Attempt to determine if the given path really is a directory. */ - rc = GetFileAttributes(szPath); + rc = GetFileAttributes (szPath); if (rc == -1) { /* call GetLastError for more error info */ @@ -70,9 +71,12 @@ opendir (const char *szPath) return (DIR *) 0; } + /* Make an absolute pathname. */ + _fullpath (szFullPath, szPath, MAX_PATH); + /* Allocate enough space to store DIR structure and the complete * directory path given. */ - nd = (DIR *) malloc (sizeof (DIR) + strlen (szPath) + strlen (SLASH) + + nd = (DIR *) malloc (sizeof (DIR) + strlen (szFullPath) + strlen (SLASH) + strlen (SUFFIX)); if (!nd) @@ -83,7 +87,7 @@ opendir (const char *szPath) } /* Create the search expression. */ - strcpy (nd->dd_name, szPath); + strcpy (nd->dd_name, szFullPath); /* Add on a slash if the path does not end with one. */ if (nd->dd_name[0] != '\0' && |