summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--ChangeLogs/ChangeLog-02a10
-rw-r--r--ChangeLogs/ChangeLog-03a10
-rw-r--r--ace/ace_wchar.inl10
4 files changed, 39 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c957f70b51b..8f5bfe5ed88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Tue Jan 16 09:58:20 2001 Darrell Brunsch <brunsch@uci.edu>
+
+ * ace/ace_wchar.inl:
+
+ Updated ACE_Ascii_To_Wide and ACE_Wide_To_Ascii to
+ preserve null pointers.
+
+ Thanks to Matthias Wittig <m.wittig@com-on.de> for
+ reporting this and suggesting a fix.
+
Tue Jan 16 10:47:33 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
* ace/config-win32-common.h:
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index c957f70b51b..8f5bfe5ed88 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,13 @@
+Tue Jan 16 09:58:20 2001 Darrell Brunsch <brunsch@uci.edu>
+
+ * ace/ace_wchar.inl:
+
+ Updated ACE_Ascii_To_Wide and ACE_Wide_To_Ascii to
+ preserve null pointers.
+
+ Thanks to Matthias Wittig <m.wittig@com-on.de> for
+ reporting this and suggesting a fix.
+
Tue Jan 16 10:47:33 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
* ace/config-win32-common.h:
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index c957f70b51b..8f5bfe5ed88 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,13 @@
+Tue Jan 16 09:58:20 2001 Darrell Brunsch <brunsch@uci.edu>
+
+ * ace/ace_wchar.inl:
+
+ Updated ACE_Ascii_To_Wide and ACE_Wide_To_Ascii to
+ preserve null pointers.
+
+ Thanks to Matthias Wittig <m.wittig@com-on.de> for
+ reporting this and suggesting a fix.
+
Tue Jan 16 10:47:33 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
* ace/config-win32-common.h:
diff --git a/ace/ace_wchar.inl b/ace/ace_wchar.inl
index 4ee288b9552..e7dedccf081 100644
--- a/ace/ace_wchar.inl
+++ b/ace/ace_wchar.inl
@@ -22,6 +22,10 @@ ACE_Wide_To_Ascii::char_rep (void)
inline char *
ACE_Wide_To_Ascii::convert (const wchar_t *wstr)
{
+ // Short circuit null pointer case
+ if (wstr == 0)
+ return 0;
+
# if defined (ACE_WIN32)
size_t len = ::WideCharToMultiByte (CP_OEMCP,
0,
@@ -32,7 +36,7 @@ ACE_Wide_To_Ascii::convert (const wchar_t *wstr)
NULL,
NULL);
# elif defined (VXWORKS)
- // @@ we should use a different macro than VXWORKS here, ACE_LACKS_WCSLEN?
+ // @todo: we should use a different macro than VXWORKS here, ACE_LACKS_WCSLEN?
const wchar_t *wtemp = wstr;
while (wtemp != 0)
++wtemp;
@@ -82,6 +86,10 @@ ACE_Ascii_To_Wide::wchar_rep (void)
inline wchar_t *
ACE_Ascii_To_Wide::convert (const char *str)
{
+ // Short circuit null pointer case
+ if (str == 0)
+ return 0;
+
# if defined (ACE_WIN32)
size_t len = ::MultiByteToWideChar (CP_OEMCP, 0, str, -1, NULL, 0);
# else /* ACE_WIN32 */