Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2005-04-24 14:26:37 +0400
committerDanny Smith <dannysmith@users.sourceforge.net>2005-04-24 14:26:37 +0400
commit4fc953d6a1448be843847bfbd29e022d78134eee (patch)
treebbd12869cd382f11ec0e25ea1a750376cbad070b /winsup
parentbc79d164539c13d40ea7f3eac012bbabc17579cb (diff)
2005-04-23 Wu Yongwei <adah@sh163.net>
mingwex/dirent.c: Formatting changes. mingwex/dirent.c (_topendir): Make the end-of-path slash check MBCS-safe.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/mingw/ChangeLog7
-rw-r--r--winsup/mingw/mingwex/dirent.c18
2 files changed, 18 insertions, 7 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
index e8406b55c..093b09d9b 100644
--- a/winsup/mingw/ChangeLog
+++ b/winsup/mingw/ChangeLog
@@ -1,3 +1,10 @@
+2005-04-23 Wu Yongwei <adah@sh163.net>
+
+ mingwex/dirent.c: Formatting changes.
+
+ mingwex/dirent.c (_topendir): Make the end-of-path slash check
+ MBCS-safe.
+
2005-03-31 Danny Smith <dannysmith@users.sourceforge.net>
* include/_mingw.h (__MINGW_ATTRIB_NONNULL): Define.
diff --git a/winsup/mingw/mingwex/dirent.c b/winsup/mingw/mingwex/dirent.c
index 4cfa9c726..3a841d2a9 100644
--- a/winsup/mingw/mingwex/dirent.c
+++ b/winsup/mingw/mingwex/dirent.c
@@ -75,8 +75,10 @@ _topendir (const _TCHAR *szPath)
/* Allocate enough space to store DIR structure and the complete
* directory path given. */
- nd = (_TDIR *) malloc (sizeof (_TDIR) + (_tcslen(szFullPath) + _tcslen (SLASH) +
- _tcslen(SUFFIX) + 1) * sizeof(_TCHAR));
+ nd = (_TDIR *) malloc (sizeof (_TDIR) + (_tcslen (szFullPath)
+ + _tcslen (SLASH)
+ + _tcslen (SUFFIX) + 1)
+ * sizeof (_TCHAR));
if (!nd)
{
@@ -89,9 +91,11 @@ _topendir (const _TCHAR *szPath)
_tcscpy (nd->dd_name, szFullPath);
/* Add on a slash if the path does not end with one. */
- if (nd->dd_name[0] != _T('\0') &&
- nd->dd_name[_tcslen (nd->dd_name) - 1] != _T('/') &&
- nd->dd_name[_tcslen (nd->dd_name) - 1] != _T('\\'))
+ if (nd->dd_name[0] != _T('\0')
+ && _tcsrchr (nd->dd_name, _T('/')) != nd->dd_name
+ + _tcslen (nd->dd_name) - 1
+ && _tcsrchr (nd->dd_name, _T('\\')) != nd->dd_name
+ + _tcslen (nd->dd_name) - 1)
{
_tcscat (nd->dd_name, SLASH);
}
@@ -148,7 +152,7 @@ _treaddir (_TDIR * dirp)
/* Start the search */
dirp->dd_handle = _tfindfirst (dirp->dd_name, &(dirp->dd_dta));
- if (dirp->dd_handle == -1)
+ if (dirp->dd_handle == -1)
{
/* Whoops! Seems there are no files in that
* directory. */
@@ -167,7 +171,7 @@ _treaddir (_TDIR * dirp)
/* We are off the end or otherwise error.
_findnext sets errno to ENOENT if no more file
Undo this. */
- DWORD winerr = GetLastError();
+ DWORD winerr = GetLastError ();
if (winerr == ERROR_NO_MORE_FILES)
errno = 0;
_findclose (dirp->dd_handle);