diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-02a | 10 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 10 | ||||
-rw-r--r-- | ace/ace_wchar.inl | 10 |
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 */ |