diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-01-23 13:59:13 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-01-23 13:59:13 +0000 |
commit | dcf6bd1e04690bc183744fe31b6bfdda4f3f988d (patch) | |
tree | 3723bf9334968ebca9b9c8fafa9f725b8d87e8aa /winsup | |
parent | 9895091d0dfe5b05f86a7c78a8ee3f4a396a0121 (diff) | |
download | cygnal-dcf6bd1e04690bc183744fe31b6bfdda4f3f988d.tar.gz cygnal-dcf6bd1e04690bc183744fe31b6bfdda4f3f988d.tar.bz2 cygnal-dcf6bd1e04690bc183744fe31b6bfdda4f3f988d.zip |
* smallprint.cc (__small_vsprintf): Use already available buffer tmp
in wfillin case.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/smallprint.cc | 13 |
2 files changed, 10 insertions, 8 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index bdd910456..f39f69baa 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2009-01-23 Corinna Vinschen <corinna@vinschen.de> + + * smallprint.cc (__small_vsprintf): Use already available buffer tmp + in wfillin case. + 2009-01-22 Christopher Faylor <me+cygwin@cgf.cx> * select.cc (peek_serial): Add hack to allow proper operation with diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc index b646a9cee..0f307b0d2 100644 --- a/winsup/cygwin/smallprint.cc +++ b/winsup/cygwin/smallprint.cc @@ -195,18 +195,15 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap) us = va_arg (ap, PUNICODE_STRING); wfillin: { - char *tmpbuf; - - if (!sys_wcstombs_alloc (&tmpbuf, HEAP_NOTHEAP, us->Buffer, - us->Length / sizeof (WCHAR))) + if (!sys_wcstombs (tmp, NT_MAX_PATH, us->Buffer, + us->Length / sizeof (WCHAR))) { s = "invalid UNICODE_STRING"; goto fillin; } - char *tmp = tmpbuf; - for (i = 0; *tmp && i < n; i++) - *dst++ = *tmp++; - free (tmpbuf); + char *t = tmp; + for (i = 0; *t && i < n; i++) + *dst++ = *t++; } break; default: |