From f62ab2d77455ca42e1300e72b70d06e8a16db53b Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 9 Jul 2008 09:50:33 +0000 Subject: libbb: use improved xmalloc_read() from modprobe-small who: fix compile breakage on some systems modprobe-small: improve Config help text wording --- modutils/Config.in | 2 +- modutils/modprobe-small.c | 48 ----------------------------------------------- 2 files changed, 1 insertion(+), 49 deletions(-) (limited to 'modutils') diff --git a/modutils/Config.in b/modutils/Config.in index 25841b8ff..2e7f9b6e5 100644 --- a/modutils/Config.in +++ b/modutils/Config.in @@ -31,7 +31,7 @@ config MODPROBE_SMALL than "non-small" modutils. config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE - bool "module options on cmdline" + bool "Accept module options on modprobe command line" default n depends on MODPROBE_SMALL help diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c index 4f073536a..1096ba7ae 100644 --- a/modutils/modprobe-small.c +++ b/modutils/modprobe-small.c @@ -14,54 +14,6 @@ #include /* uname() */ #include -/* libbb candidate */ -static void *xmalloc_read(int fd, size_t *sizep) -{ - char *buf; - size_t size, rd_size, total; - off_t to_read; - struct stat st; - - to_read = sizep ? *sizep : INT_MAX; /* max to read */ - - /* Estimate file size */ - st.st_size = 0; /* in case fstat fails, assume 0 */ - fstat(fd, &st); - /* /proc/N/stat files report st_size 0 */ - /* In order to make such files readable, we add small const */ - size = (st.st_size | 0x3ff) + 1; - - total = 0; - buf = NULL; - while (1) { - if (to_read < size) - size = to_read; - buf = xrealloc(buf, total + size + 1); - rd_size = full_read(fd, buf + total, size); - if ((ssize_t)rd_size < 0) { /* error */ - free(buf); - return NULL; - } - total += rd_size; - if (rd_size < size) /* EOF */ - break; - to_read -= rd_size; - if (to_read <= 0) - break; - /* grow by 1/8, but in [1k..64k] bounds */ - size = ((total / 8) | 0x3ff) + 1; - if (size > 64*1024) - size = 64*1024; - } - xrealloc(buf, total + 1); - buf[total] = '\0'; - - if (sizep) - *sizep = total; - return buf; -} - - #define dbg1_error_msg(...) ((void)0) #define dbg2_error_msg(...) ((void)0) //#define dbg1_error_msg(...) bb_error_msg(__VA_ARGS__) -- cgit v1.2.3