summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/smallprint.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-01-23 13:59:13 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-01-23 13:59:13 +0000
commitdcf6bd1e04690bc183744fe31b6bfdda4f3f988d (patch)
tree3723bf9334968ebca9b9c8fafa9f725b8d87e8aa /winsup/cygwin/smallprint.cc
parent9895091d0dfe5b05f86a7c78a8ee3f4a396a0121 (diff)
downloadcygnal-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/cygwin/smallprint.cc')
-rw-r--r--winsup/cygwin/smallprint.cc13
1 files changed, 5 insertions, 8 deletions
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: