diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-03-23 15:48:16 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-03-23 15:48:16 +0000 |
commit | 7d2e8c04f21294840159ca8f7393eb713487f8a4 (patch) | |
tree | e5a3ddf99645019824a3e1b9694ab54993d74e10 /winsup/cygwin | |
parent | 1199a539792c7ab980d36a5e6c60e3f797f88179 (diff) | |
download | cygnal-7d2e8c04f21294840159ca8f7393eb713487f8a4.tar.gz cygnal-7d2e8c04f21294840159ca8f7393eb713487f8a4.tar.bz2 cygnal-7d2e8c04f21294840159ca8f7393eb713487f8a4.zip |
* smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and
PUNICODE_STRING arguments.
(__small_vswprintf): Ditto.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/smallprint.cc | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 4dad20aa8..f79bdaf5b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,11 @@ 2009-03-23 Corinna Vinschen <corinna@vinschen.de> + * smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and + PUNICODE_STRING arguments. + (__small_vswprintf): Ditto. + +2009-03-23 Corinna Vinschen <corinna@vinschen.de> + * include/asm/byteorder.h (__constant_ntohs): Remove declaration. (__constant_ntohl): Ditto. diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc index 0f307b0d2..9a5cd1ac0 100644 --- a/winsup/cygwin/smallprint.cc +++ b/winsup/cygwin/smallprint.cc @@ -188,11 +188,12 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap) break; case 'W': w = va_arg (ap, PWCHAR); - RtlInitUnicodeString (&uw, w); - us = &uw; + RtlInitUnicodeString (us = &uw, w ?: L"(null)"); goto wfillin; case 'S': us = va_arg (ap, PUNICODE_STRING); + if (!us) + RtlInitUnicodeString (us = &uw, L"(null)"); wfillin: { if (!sys_wcstombs (tmp, NT_MAX_PATH, us->Buffer, @@ -438,10 +439,12 @@ __small_vswprintf (PWCHAR dst, const WCHAR *fmt, va_list ap) break; case L'W': w = va_arg (ap, PWCHAR); - RtlInitUnicodeString (us = &uw, w); + RtlInitUnicodeString (us = &uw, w ?: L"(null)"); goto fillin; case L'S': us = va_arg (ap, PUNICODE_STRING); + if (!us) + RtlInitUnicodeString (us = &uw, L"(null)"); fillin: if (us->Length / sizeof (WCHAR) < n) n = us->Length / sizeof (WCHAR); |