diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-24 02:36:47 +0300 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-24 02:36:47 +0300 |
commit | 4e12b1a2a9e68685dff61acaee1e1f6c377d978c (patch) | |
tree | 6d2745f77060d05f843eb186c5227246667d33cb /libbb/xfuncs.c | |
parent | b3523b9cd3ba71b82e36466b17aae3d65a53203e (diff) |
libbb: introduce and use xmalloc_ttyname (-32 in bss).
ash: small code shrink
text data bss dec hex filename
793669 504 7524 801697 c3ba1 busybox_old
793659 504 7492 801655 c3b77 busybox_unstripped
Diffstat (limited to 'libbb/xfuncs.c')
-rw-r--r-- | libbb/xfuncs.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index f3c3c538c..a86efc298 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -268,6 +268,17 @@ off_t FAST_FUNC fdlength(int fd) } #endif +char* FAST_FUNC xmalloc_ttyname(int fd) +{ + char *buf = xzalloc(128); + int r = ttyname_r(fd, buf, 127); + if (r) { + free(buf); + buf = NULL; + } + return buf; +} + /* It is perfectly ok to pass in a NULL for either width or for * height, in which case that value will not be set. */ int FAST_FUNC get_terminal_width_height(int fd, unsigned *width, unsigned *height) |