diff options
author | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2009-11-24 21:24:06 +0100 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-24 12:48:02 -0800 |
commit | 338a674faa96ae321560efa3f1b1e8122d61aac4 (patch) | |
tree | c5ceee16364ea110d55d1e15abc19aca84c7d8d6 /tcl/interface | |
parent | 5507b5f430e3d6bef00a7ffcd51df29c13d7477e (diff) | |
download | openocd+libswd-338a674faa96ae321560efa3f1b1e8122d61aac4.tar.gz openocd+libswd-338a674faa96ae321560efa3f1b1e8122d61aac4.tar.bz2 openocd+libswd-338a674faa96ae321560efa3f1b1e8122d61aac4.tar.xz openocd+libswd-338a674faa96ae321560efa3f1b1e8122d61aac4.zip |
improve alloc_vprintf
The previous implementation was unnecessarily complex. Get rid of the loops,
let vsnprintf() tell us directly how much storage we need and allocate that. A
second pass writes the actual string. Also add a va_end() that was missing.
This should be much faster for large strings and less wasteful for small ones.
A quirk that has been retained is that some callers patch in a newline at the
end of the returned string and depend on alloc_vprintf to allocate at least
one byte extra.
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Signed-off-by: Zachary T Welch <zw@superlucidity.net>
Diffstat (limited to 'tcl/interface')
0 files changed, 0 insertions, 0 deletions