summaryrefslogtreecommitdiff
path: root/ace/OS_Dirent.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2001-09-22 15:28:25 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2001-09-22 15:28:25 +0000
commitd465e1a69c320c685d676625292b4a639c344f57 (patch)
treec19848f1b8a824904d5331882ed0f4530e578769 /ace/OS_Dirent.cpp
parent1d00611aa3af943107074b86afbcae2c4f279e8d (diff)
downloadATCD-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.cpp11
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)