*
* 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
-/*
- 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 = "";
#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 ? options : "") != 0)
+ if (init_module(image, len, options) != 0)
rc = errno;
free(image);
}