diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2001-09-22 15:28:25 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2001-09-22 15:28:25 +0000 |
commit | d465e1a69c320c685d676625292b4a639c344f57 (patch) | |
tree | c19848f1b8a824904d5331882ed0f4530e578769 /ace/OS_Dirent.cpp | |
parent | 1d00611aa3af943107074b86afbcae2c4f279e8d (diff) | |
download | ATCD-d465e1a69c320c685d676625292b4a639c344f57.tar.gz |
ChangeLogTag:Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
Diffstat (limited to 'ace/OS_Dirent.cpp')
-rw-r--r-- | ace/OS_Dirent.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ace/OS_Dirent.cpp b/ace/OS_Dirent.cpp index 7da84d715b5..7f6954a44fc 100644 --- a/ace/OS_Dirent.cpp +++ b/ace/OS_Dirent.cpp @@ -119,9 +119,12 @@ ACE_OS_Dirent::readdir_emulation (ACE_DIR *d) if (d->current_handle_ != INVALID_HANDLE_VALUE) { d->dirent_ = (dirent *) ACE_OS_Memory::malloc (sizeof (dirent) + - ACE_OS_String::strlen (d->fdata_.cFileName)); + (ACE_OS_String::strlen (d->fdata_.cFileName) + * sizeof (ACE_TCHAR))); ACE_OS_String::strcpy (d->dirent_->d_name, d->fdata_.cFileName); - d->dirent_->d_reclen = sizeof (dirent) + ACE_OS_String::strlen (d->dirent_->d_name); + d->dirent_->d_reclen = + sizeof (dirent) + + (ACE_OS_String::strlen (d->dirent_->d_name) * sizeof (ACE_TCHAR)); return d->dirent_; } else @@ -186,7 +189,9 @@ ACE_OS_Dirent::scandir_emulation (const ACE_TCHAR *dirname, vector = newv; } - int dsize = sizeof (dirent) + ACE_OS_String::strlen (dp->d_name) + 1; + int dsize = + sizeof (dirent) + + ((ACE_OS_String::strlen (dp->d_name) + 1) * sizeof (ACE_TCHAR)); dirent *newdp = (dirent *) ACE_OS_Memory::malloc (dsize); if (newdp == 0) |