*
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-
#include "modutils.h"
#ifdef __UCLIBC__
# define delete_module(mod, flags) syscall(__NR_delete_module, mod, flags)
#endif
-USE_FEATURE_2_4_MODULES(char *insmod_outputname);
-
-/*
- a libbb candidate from ice age!
-*/
-llist_t FAST_FUNC *llist_find(llist_t *first, const char *str)
-{
- while (first != NULL) {
- if (strcmp(first->data, str) == 0)
- return first;
- first = first->link;
- }
- return NULL;
-}
-
void FAST_FUNC replace(char *s, char what, char with)
{
while (*s) {
int FAST_FUNC bb_init_module(const char *filename, const char *options)
{
- size_t len = MAXINT(ssize_t);
+ size_t len;
char *image;
- int rc = ENOENT;
+ int rc;
+
+ if (!options)
+ options = "";
#if ENABLE_FEATURE_2_4_MODULES
if (get_linux_version_code() < KERNEL_VERSION(2,6,0))
#endif
/* Use the 2.6 way */
+ len = INT_MAX - 4095;
+ rc = ENOENT;
image = xmalloc_open_zipped_read_close(filename, &len);
if (image) {
+ rc = 0;
if (init_module(image, len, options) != 0)
rc = errno;
- else
- rc = 0;
free(image);
}