aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-04-19 19:32:08 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-04-19 19:32:08 +0000
commitf3745ea489c5ef454e2ce68926c5f39f5b30f240 (patch)
treec21d461878d61bdb01bca9c8cbb01e095cd48734 /libbb
parentd9c51e9fa78f7ee6adb37543f77b4f85e57cccc4 (diff)
downloadbusybox-w32-f3745ea489c5ef454e2ce68926c5f39f5b30f240.tar.gz
busybox-w32-f3745ea489c5ef454e2ce68926c5f39f5b30f240.tar.bz2
busybox-w32-f3745ea489c5ef454e2ce68926c5f39f5b30f240.zip
libbb: introduce xmalloc_xopen_read_close and use where appropriate
instead of xmalloc_open_read_close. function old new delta xmalloc_xopen_read_close - 34 +34 xmalloc_open_read_close 163 171 +8 passwd_main 1070 1074 +4 rexecve 254 257 +3 handle_incoming_and_exit 2657 2659 +2 parse_command 1509 1510 +1 buffer_fill_and_print 76 73 -3 evaltreenr 599 589 -10 evaltree 599 589 -10 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/3 up/down: 52/-23) Total: 29 bytes
Diffstat (limited to 'libbb')
-rw-r--r--libbb/read.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libbb/read.c b/libbb/read.c
index 1d31fb076..ba366cb97 100644
--- a/libbb/read.c
+++ b/libbb/read.c
@@ -212,7 +212,9 @@ void *xmalloc_open_read_close(const char *filename, size_t *sizep)
212 int fd; 212 int fd;
213 off_t len; 213 off_t len;
214 214
215 fd = xopen(filename, O_RDONLY); 215 fd = open(filename, O_RDONLY);
216 if (fd < 0)
217 return NULL;
216 /* /proc/N/stat files report len 0 here */ 218 /* /proc/N/stat files report len 0 here */
217 /* In order to make such files readable, we add small const */ 219 /* In order to make such files readable, we add small const */
218 len = xlseek(fd, 0, SEEK_END) | 0x3ff; /* + up to 1k */ 220 len = xlseek(fd, 0, SEEK_END) | 0x3ff; /* + up to 1k */
@@ -229,3 +231,11 @@ void *xmalloc_open_read_close(const char *filename, size_t *sizep)
229 *sizep = size; 231 *sizep = size;
230 return buf; 232 return buf;
231} 233}
234
235void *xmalloc_xopen_read_close(const char *filename, size_t *sizep)
236{
237 void *buf = xmalloc_open_read_close(filename, sizep);
238 if (!buf)
239 bb_perror_msg_and_die("can't read '%s'", filename);
240 return buf;
241}