diff options
author | Rob Landley <rob@landley.net> | 2006-08-03 15:41:12 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-08-03 15:41:12 +0000 |
commit | d921b2ecc0d294ad4bf8c7458fc52a60c28727d2 (patch) | |
tree | e4a2769349867c441cf2983d83097bb66701a733 /modutils | |
parent | 6dce0b6fa79f2d4bb7e9d90e1fbc0f6beb25f855 (diff) | |
download | busybox-w32-d921b2ecc0d294ad4bf8c7458fc52a60c28727d2.tar.gz busybox-w32-d921b2ecc0d294ad4bf8c7458fc52a60c28727d2.tar.bz2 busybox-w32-d921b2ecc0d294ad4bf8c7458fc52a60c28727d2.zip |
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes... General cleanup pass. What I've
been doing for the last couple days.
And it conflicts! I've removed httpd.c from this checkin due to somebody else
touching that file. It builds for me. I have to catch a bus. (Now you know
why I'm looking forward to Mercurial.)
Diffstat (limited to 'modutils')
-rw-r--r-- | modutils/insmod.c | 54 | ||||
-rw-r--r-- | modutils/modprobe.c | 35 |
2 files changed, 24 insertions, 65 deletions
diff --git a/modutils/insmod.c b/modutils/insmod.c index 3113f7446..be41e4449 100644 --- a/modutils/insmod.c +++ b/modutils/insmod.c | |||
@@ -59,17 +59,6 @@ | |||
59 | */ | 59 | */ |
60 | 60 | ||
61 | #include "busybox.h" | 61 | #include "busybox.h" |
62 | #include <stdlib.h> | ||
63 | #include <stdio.h> | ||
64 | #include <stddef.h> | ||
65 | #include <errno.h> | ||
66 | #include <unistd.h> | ||
67 | #include <dirent.h> | ||
68 | #include <ctype.h> | ||
69 | #include <assert.h> | ||
70 | #include <string.h> | ||
71 | #include <getopt.h> | ||
72 | #include <fcntl.h> | ||
73 | #include <sys/utsname.h> | 62 | #include <sys/utsname.h> |
74 | 63 | ||
75 | #if !defined(CONFIG_FEATURE_2_4_MODULES) && \ | 64 | #if !defined(CONFIG_FEATURE_2_4_MODULES) && \ |
@@ -804,12 +793,12 @@ static int check_module_name_match(const char *filename, struct stat *statbuf, | |||
804 | if (fullname[0] == '\0') | 793 | if (fullname[0] == '\0') |
805 | return (FALSE); | 794 | return (FALSE); |
806 | else { | 795 | else { |
807 | char *tmp, *tmp1 = bb_xstrdup(filename); | 796 | char *tmp, *tmp1 = xstrdup(filename); |
808 | tmp = bb_get_last_path_component(tmp1); | 797 | tmp = bb_get_last_path_component(tmp1); |
809 | if (strcmp(tmp, fullname) == 0) { | 798 | if (strcmp(tmp, fullname) == 0) { |
810 | free(tmp1); | 799 | free(tmp1); |
811 | /* Stop searching if we find a match */ | 800 | /* Stop searching if we find a match */ |
812 | m_filename = bb_xstrdup(filename); | 801 | m_filename = xstrdup(filename); |
813 | return (FALSE); | 802 | return (FALSE); |
814 | } | 803 | } |
815 | free(tmp1); | 804 | free(tmp1); |
@@ -893,7 +882,6 @@ arch_apply_relocation(struct obj_file *f, | |||
893 | * (which is .got) similar to branch, | 882 | * (which is .got) similar to branch, |
894 | * but is full 32 bits relative */ | 883 | * but is full 32 bits relative */ |
895 | 884 | ||
896 | assert(got != 0); | ||
897 | *loc += got - dot; | 885 | *loc += got - dot; |
898 | break; | 886 | break; |
899 | 887 | ||
@@ -902,7 +890,6 @@ arch_apply_relocation(struct obj_file *f, | |||
902 | goto bb_use_plt; | 890 | goto bb_use_plt; |
903 | 891 | ||
904 | case R_ARM_GOTOFF: /* address relative to the got */ | 892 | case R_ARM_GOTOFF: /* address relative to the got */ |
905 | assert(got != 0); | ||
906 | *loc += v - got; | 893 | *loc += v - got; |
907 | break; | 894 | break; |
908 | 895 | ||
@@ -972,7 +959,6 @@ arch_apply_relocation(struct obj_file *f, | |||
972 | break; | 959 | break; |
973 | 960 | ||
974 | case R_386_GOTPC: | 961 | case R_386_GOTPC: |
975 | assert(got != 0); | ||
976 | *loc += got - dot; | 962 | *loc += got - dot; |
977 | break; | 963 | break; |
978 | 964 | ||
@@ -980,7 +966,6 @@ arch_apply_relocation(struct obj_file *f, | |||
980 | goto bb_use_got; | 966 | goto bb_use_got; |
981 | 967 | ||
982 | case R_386_GOTOFF: | 968 | case R_386_GOTOFF: |
983 | assert(got != 0); | ||
984 | *loc += v - got; | 969 | *loc += v - got; |
985 | break; | 970 | break; |
986 | 971 | ||
@@ -1102,7 +1087,6 @@ arch_apply_relocation(struct obj_file *f, | |||
1102 | 1087 | ||
1103 | # ifdef R_68K_GOTOFF | 1088 | # ifdef R_68K_GOTOFF |
1104 | case R_68K_GOTOFF: | 1089 | case R_68K_GOTOFF: |
1105 | assert(got != 0); | ||
1106 | *loc += v - got; | 1090 | *loc += v - got; |
1107 | break; | 1091 | break; |
1108 | # endif | 1092 | # endif |
@@ -1157,9 +1141,6 @@ arch_apply_relocation(struct obj_file *f, | |||
1157 | struct mips_hi16 *next; | 1141 | struct mips_hi16 *next; |
1158 | unsigned long insn; | 1142 | unsigned long insn; |
1159 | 1143 | ||
1160 | /* The value for the HI16 had best be the same. */ | ||
1161 | assert(v == l->value); | ||
1162 | |||
1163 | /* Do the HI16 relocation. Note that we actually don't | 1144 | /* Do the HI16 relocation. Note that we actually don't |
1164 | need to know anything about the LO16 itself, except where | 1145 | need to know anything about the LO16 itself, except where |
1165 | to find the low 16 bits of the addend needed by the LO16. */ | 1146 | to find the low 16 bits of the addend needed by the LO16. */ |
@@ -1408,9 +1389,7 @@ arch_apply_relocation(struct obj_file *f, | |||
1408 | case R_390_PLT32: | 1389 | case R_390_PLT32: |
1409 | case R_390_PLT16DBL: | 1390 | case R_390_PLT16DBL: |
1410 | /* find the plt entry and initialize it. */ | 1391 | /* find the plt entry and initialize it. */ |
1411 | assert(isym != NULL); | ||
1412 | pe = (struct arch_single_entry *) &isym->pltent; | 1392 | pe = (struct arch_single_entry *) &isym->pltent; |
1413 | assert(pe->allocated); | ||
1414 | if (pe->inited == 0) { | 1393 | if (pe->inited == 0) { |
1415 | ip = (unsigned long *)(ifile->plt->contents + pe->offset); | 1394 | ip = (unsigned long *)(ifile->plt->contents + pe->offset); |
1416 | ip[0] = 0x0d105810; /* basr 1,0; lg 1,10(1); br 1 */ | 1395 | ip[0] = 0x0d105810; /* basr 1,0; lg 1,10(1); br 1 */ |
@@ -1440,15 +1419,12 @@ arch_apply_relocation(struct obj_file *f, | |||
1440 | break; | 1419 | break; |
1441 | 1420 | ||
1442 | case R_390_GOTPC: | 1421 | case R_390_GOTPC: |
1443 | assert(got != 0); | ||
1444 | *(unsigned long *) loc += got - dot; | 1422 | *(unsigned long *) loc += got - dot; |
1445 | break; | 1423 | break; |
1446 | 1424 | ||
1447 | case R_390_GOT12: | 1425 | case R_390_GOT12: |
1448 | case R_390_GOT16: | 1426 | case R_390_GOT16: |
1449 | case R_390_GOT32: | 1427 | case R_390_GOT32: |
1450 | assert(isym != NULL); | ||
1451 | assert(got != 0); | ||
1452 | if (!isym->gotent.inited) | 1428 | if (!isym->gotent.inited) |
1453 | { | 1429 | { |
1454 | isym->gotent.inited = 1; | 1430 | isym->gotent.inited = 1; |
@@ -1466,7 +1442,6 @@ arch_apply_relocation(struct obj_file *f, | |||
1466 | # define R_390_GOTOFF32 R_390_GOTOFF | 1442 | # define R_390_GOTOFF32 R_390_GOTOFF |
1467 | # endif | 1443 | # endif |
1468 | case R_390_GOTOFF32: | 1444 | case R_390_GOTOFF32: |
1469 | assert(got != 0); | ||
1470 | *loc += v - got; | 1445 | *loc += v - got; |
1471 | break; | 1446 | break; |
1472 | 1447 | ||
@@ -1497,7 +1472,6 @@ arch_apply_relocation(struct obj_file *f, | |||
1497 | break; | 1472 | break; |
1498 | 1473 | ||
1499 | case R_SH_GOTPC: | 1474 | case R_SH_GOTPC: |
1500 | assert(got != 0); | ||
1501 | *loc = got - dot + rel->r_addend; | 1475 | *loc = got - dot + rel->r_addend; |
1502 | break; | 1476 | break; |
1503 | 1477 | ||
@@ -1505,7 +1479,6 @@ arch_apply_relocation(struct obj_file *f, | |||
1505 | goto bb_use_got; | 1479 | goto bb_use_got; |
1506 | 1480 | ||
1507 | case R_SH_GOTOFF: | 1481 | case R_SH_GOTOFF: |
1508 | assert(got != 0); | ||
1509 | *loc = v - got; | 1482 | *loc = v - got; |
1510 | break; | 1483 | break; |
1511 | 1484 | ||
@@ -1627,7 +1600,6 @@ arch_apply_relocation(struct obj_file *f, | |||
1627 | case R_X86_64_GOTPCREL: | 1600 | case R_X86_64_GOTPCREL: |
1628 | goto bb_use_got; | 1601 | goto bb_use_got; |
1629 | # if 0 | 1602 | # if 0 |
1630 | assert(isym != NULL); | ||
1631 | if (!isym->gotent.reloc_done) | 1603 | if (!isym->gotent.reloc_done) |
1632 | { | 1604 | { |
1633 | isym->gotent.reloc_done = 1; | 1605 | isym->gotent.reloc_done = 1; |
@@ -1655,12 +1627,10 @@ arch_apply_relocation(struct obj_file *f, | |||
1655 | bb_use_plt: | 1627 | bb_use_plt: |
1656 | 1628 | ||
1657 | /* find the plt entry and initialize it if necessary */ | 1629 | /* find the plt entry and initialize it if necessary */ |
1658 | assert(isym != NULL); | ||
1659 | 1630 | ||
1660 | #if defined(CONFIG_USE_PLT_LIST) | 1631 | #if defined(CONFIG_USE_PLT_LIST) |
1661 | for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend;) | 1632 | for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend;) |
1662 | pe = pe->next; | 1633 | pe = pe->next; |
1663 | assert(pe != NULL); | ||
1664 | #else | 1634 | #else |
1665 | pe = &isym->pltent; | 1635 | pe = &isym->pltent; |
1666 | #endif | 1636 | #endif |
@@ -1734,7 +1704,6 @@ bb_use_plt: | |||
1734 | #if defined(CONFIG_USE_GOT_ENTRIES) | 1704 | #if defined(CONFIG_USE_GOT_ENTRIES) |
1735 | bb_use_got: | 1705 | bb_use_got: |
1736 | 1706 | ||
1737 | assert(isym != NULL); | ||
1738 | /* needs an entry in the .got: set it, once */ | 1707 | /* needs an entry in the .got: set it, once */ |
1739 | if (!isym->gotent.inited) { | 1708 | if (!isym->gotent.inited) { |
1740 | isym->gotent.inited = 1; | 1709 | isym->gotent.inited = 1; |
@@ -1814,7 +1783,6 @@ static struct obj_section *arch_xsect_init(struct obj_file *f, char *name, | |||
1814 | } else { | 1783 | } else { |
1815 | myrelsec = obj_create_alloced_section(f, name, | 1784 | myrelsec = obj_create_alloced_section(f, name, |
1816 | size, offset); | 1785 | size, offset); |
1817 | assert(myrelsec); | ||
1818 | } | 1786 | } |
1819 | 1787 | ||
1820 | return myrelsec; | 1788 | return myrelsec; |
@@ -3778,14 +3746,14 @@ add_ksymoops_symbols(struct obj_file *f, const char *filename, | |||
3778 | }; | 3746 | }; |
3779 | 3747 | ||
3780 | if (realpath(filename, real)) { | 3748 | if (realpath(filename, real)) { |
3781 | absolute_filename = bb_xstrdup(real); | 3749 | absolute_filename = xstrdup(real); |
3782 | } | 3750 | } |
3783 | else { | 3751 | else { |
3784 | int save_errno = errno; | 3752 | int save_errno = errno; |
3785 | bb_error_msg("cannot get realpath for %s", filename); | 3753 | bb_error_msg("cannot get realpath for %s", filename); |
3786 | errno = save_errno; | 3754 | errno = save_errno; |
3787 | perror(""); | 3755 | perror(""); |
3788 | absolute_filename = bb_xstrdup(filename); | 3756 | absolute_filename = xstrdup(filename); |
3789 | } | 3757 | } |
3790 | 3758 | ||
3791 | lm_name = strlen(m_name); | 3759 | lm_name = strlen(m_name); |
@@ -4022,7 +3990,7 @@ int insmod_main( int argc, char **argv) | |||
4022 | break; | 3990 | break; |
4023 | case 'o': /* name the output module */ | 3991 | case 'o': /* name the output module */ |
4024 | free(m_name); | 3992 | free(m_name); |
4025 | m_name = bb_xstrdup(optarg); | 3993 | m_name = xstrdup(optarg); |
4026 | break; | 3994 | break; |
4027 | case 'L': /* Stub warning */ | 3995 | case 'L': /* Stub warning */ |
4028 | /* This is needed for compatibility with modprobe. | 3996 | /* This is needed for compatibility with modprobe. |
@@ -4045,7 +4013,7 @@ int insmod_main( int argc, char **argv) | |||
4045 | } | 4013 | } |
4046 | 4014 | ||
4047 | /* Grab the module name */ | 4015 | /* Grab the module name */ |
4048 | tmp1 = bb_xstrdup(argv[optind]); | 4016 | tmp1 = xstrdup(argv[optind]); |
4049 | tmp = basename(tmp1); | 4017 | tmp = basename(tmp1); |
4050 | len = strlen(tmp); | 4018 | len = strlen(tmp); |
4051 | 4019 | ||
@@ -4071,10 +4039,10 @@ int insmod_main( int argc, char **argv) | |||
4071 | 4039 | ||
4072 | #if defined(CONFIG_FEATURE_2_6_MODULES) | 4040 | #if defined(CONFIG_FEATURE_2_6_MODULES) |
4073 | if (k_version > 4) | 4041 | if (k_version > 4) |
4074 | m_fullName = bb_xasprintf("%s.ko", tmp); | 4042 | m_fullName = xasprintf("%s.ko", tmp); |
4075 | else | 4043 | else |
4076 | #endif | 4044 | #endif |
4077 | m_fullName = bb_xasprintf("%s.o", tmp); | 4045 | m_fullName = xasprintf("%s.o", tmp); |
4078 | 4046 | ||
4079 | if (!m_name) { | 4047 | if (!m_name) { |
4080 | m_name = tmp; | 4048 | m_name = tmp; |
@@ -4132,7 +4100,7 @@ int insmod_main( int argc, char **argv) | |||
4132 | bb_error_msg_and_die("%s: no module by that name found", m_fullName); | 4100 | bb_error_msg_and_die("%s: no module by that name found", m_fullName); |
4133 | } | 4101 | } |
4134 | } else | 4102 | } else |
4135 | m_filename = bb_xstrdup(argv[optind]); | 4103 | m_filename = xstrdup(argv[optind]); |
4136 | 4104 | ||
4137 | if (flag_verbose) | 4105 | if (flag_verbose) |
4138 | printf("Using %s\n", m_filename); | 4106 | printf("Using %s\n", m_filename); |
@@ -4334,7 +4302,7 @@ int insmod_ng_main( int argc, char **argv) | |||
4334 | struct stat st; | 4302 | struct stat st; |
4335 | unsigned long len; | 4303 | unsigned long len; |
4336 | void *map; | 4304 | void *map; |
4337 | char *filename, *options = bb_xstrdup(""); | 4305 | char *filename, *options = xstrdup(""); |
4338 | 4306 | ||
4339 | filename = argv[1]; | 4307 | filename = argv[1]; |
4340 | if (!filename) { | 4308 | if (!filename) { |
@@ -4356,7 +4324,7 @@ int insmod_ng_main( int argc, char **argv) | |||
4356 | strcat(options, " "); | 4324 | strcat(options, " "); |
4357 | } | 4325 | } |
4358 | 4326 | ||
4359 | fd = bb_xopen3(filename, O_RDONLY, 0); | 4327 | fd = xopen3(filename, O_RDONLY, 0); |
4360 | 4328 | ||
4361 | fstat(fd, &st); | 4329 | fstat(fd, &st); |
4362 | len = st.st_size; | 4330 | len = st.st_size; |
diff --git a/modutils/modprobe.c b/modutils/modprobe.c index b11e58d55..5a94c7c92 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c | |||
@@ -13,15 +13,6 @@ | |||
13 | 13 | ||
14 | #include "busybox.h" | 14 | #include "busybox.h" |
15 | #include <sys/utsname.h> | 15 | #include <sys/utsname.h> |
16 | #include <sys/types.h> | ||
17 | #include <sys/wait.h> | ||
18 | #include <getopt.h> | ||
19 | #include <stdlib.h> | ||
20 | #include <unistd.h> | ||
21 | #include <syslog.h> | ||
22 | #include <string.h> | ||
23 | #include <ctype.h> | ||
24 | #include <fcntl.h> | ||
25 | #include <fnmatch.h> | 16 | #include <fnmatch.h> |
26 | 17 | ||
27 | struct mod_opt_t { /* one-way list of options to pass to a module */ | 18 | struct mod_opt_t { /* one-way list of options to pass to a module */ |
@@ -148,7 +139,7 @@ static struct mod_opt_t *append_option( struct mod_opt_t *opt_list, char *opt ) | |||
148 | ol = opt_list = xmalloc( sizeof( struct mod_opt_t ) ); | 139 | ol = opt_list = xmalloc( sizeof( struct mod_opt_t ) ); |
149 | } | 140 | } |
150 | 141 | ||
151 | ol-> m_opt_val = bb_xstrdup( opt ); | 142 | ol-> m_opt_val = xstrdup( opt ); |
152 | ol-> m_next = NULL; | 143 | ol-> m_next = NULL; |
153 | 144 | ||
154 | return opt_list; | 145 | return opt_list; |
@@ -160,7 +151,7 @@ static struct mod_opt_t *append_option( struct mod_opt_t *opt_list, char *opt ) | |||
160 | * dst: pointer to where to store the parsed argument | 151 | * dst: pointer to where to store the parsed argument |
161 | * return value: the pointer to the first char after the parsed argument, | 152 | * return value: the pointer to the first char after the parsed argument, |
162 | * NULL if there was no argument parsed (only trailing spaces). | 153 | * NULL if there was no argument parsed (only trailing spaces). |
163 | * Note that memory is allocated with bb_xstrdup when a new argument was | 154 | * Note that memory is allocated with xstrdup when a new argument was |
164 | * parsed. Don't forget to free it! | 155 | * parsed. Don't forget to free it! |
165 | */ | 156 | */ |
166 | #define ARG_EMPTY 0x00 | 157 | #define ARG_EMPTY 0x00 |
@@ -185,7 +176,7 @@ static char *parse_command_string( char *src, char **dst ) | |||
185 | /* Reached the start of an argument | 176 | /* Reached the start of an argument |
186 | * By the way, we duplicate a little too much | 177 | * By the way, we duplicate a little too much |
187 | * here but what is too much is freed later. */ | 178 | * here but what is too much is freed later. */ |
188 | *dst = tmp_str = bb_xstrdup( src ); | 179 | *dst = tmp_str = xstrdup( src ); |
189 | /* Get to the end of that argument */ | 180 | /* Get to the end of that argument */ |
190 | while( ( *tmp_str != '\0' ) | 181 | while( ( *tmp_str != '\0' ) |
191 | && ( ( *tmp_str != ' ' ) | 182 | && ( ( *tmp_str != ' ' ) |
@@ -309,7 +300,7 @@ static void include_conf ( struct dep_t **first, struct dep_t **current, char *b | |||
309 | (*current)-> m_next = (struct dep_t *) xcalloc ( 1, sizeof ( struct dep_t )); | 300 | (*current)-> m_next = (struct dep_t *) xcalloc ( 1, sizeof ( struct dep_t )); |
310 | (*current) = (*current)-> m_next; | 301 | (*current) = (*current)-> m_next; |
311 | } | 302 | } |
312 | (*current)-> m_name = bb_xstrdup ( alias ); | 303 | (*current)-> m_name = xstrdup ( alias ); |
313 | (*current)-> m_isalias = 1; | 304 | (*current)-> m_isalias = 1; |
314 | 305 | ||
315 | if (( strcmp ( mod, "off" ) == 0 ) || ( strcmp ( mod, "null" ) == 0 )) { | 306 | if (( strcmp ( mod, "off" ) == 0 ) || ( strcmp ( mod, "null" ) == 0 )) { |
@@ -319,7 +310,7 @@ static void include_conf ( struct dep_t **first, struct dep_t **current, char *b | |||
319 | else { | 310 | else { |
320 | (*current)-> m_depcnt = 1; | 311 | (*current)-> m_depcnt = 1; |
321 | (*current)-> m_deparr = xmalloc ( 1 * sizeof( char * )); | 312 | (*current)-> m_deparr = xmalloc ( 1 * sizeof( char * )); |
322 | (*current)-> m_deparr[0] = bb_xstrdup ( mod ); | 313 | (*current)-> m_deparr[0] = xstrdup ( mod ); |
323 | } | 314 | } |
324 | (*current)-> m_next = 0; | 315 | (*current)-> m_next = 0; |
325 | } | 316 | } |
@@ -388,7 +379,7 @@ static struct dep_t *build_dep ( void ) | |||
388 | k_version = un.release[2] - '0'; | 379 | k_version = un.release[2] - '0'; |
389 | } | 380 | } |
390 | 381 | ||
391 | filename = bb_xasprintf("/lib/modules/%s/modules.dep", un.release ); | 382 | filename = xasprintf("/lib/modules/%s/modules.dep", un.release ); |
392 | fd = open ( filename, O_RDONLY ); | 383 | fd = open ( filename, O_RDONLY ); |
393 | if (ENABLE_FEATURE_CLEAN_UP) | 384 | if (ENABLE_FEATURE_CLEAN_UP) |
394 | free(filename); | 385 | free(filename); |
@@ -447,7 +438,7 @@ static struct dep_t *build_dep ( void ) | |||
447 | if (( *(col-2) == '.' ) && ( *(col-1) == 'o' )) | 438 | if (( *(col-2) == '.' ) && ( *(col-1) == 'o' )) |
448 | dot = col - 2; | 439 | dot = col - 2; |
449 | 440 | ||
450 | mod = bb_xstrndup ( mods, dot - mods ); | 441 | mod = xstrndup ( mods, dot - mods ); |
451 | 442 | ||
452 | /* enqueue new module */ | 443 | /* enqueue new module */ |
453 | if ( !current ) { | 444 | if ( !current ) { |
@@ -458,7 +449,7 @@ static struct dep_t *build_dep ( void ) | |||
458 | current = current-> m_next; | 449 | current = current-> m_next; |
459 | } | 450 | } |
460 | current-> m_name = mod; | 451 | current-> m_name = mod; |
461 | current-> m_path = bb_xstrdup(modpath); | 452 | current-> m_path = xstrdup(modpath); |
462 | current-> m_options = NULL; | 453 | current-> m_options = NULL; |
463 | current-> m_isalias = 0; | 454 | current-> m_isalias = 0; |
464 | current-> m_depcnt = 0; | 455 | current-> m_depcnt = 0; |
@@ -525,7 +516,7 @@ static struct dep_t *build_dep ( void ) | |||
525 | /* Cope with blank lines */ | 516 | /* Cope with blank lines */ |
526 | if ((next-deps-ext+1) <= 0) | 517 | if ((next-deps-ext+1) <= 0) |
527 | continue; | 518 | continue; |
528 | dep = bb_xstrndup ( deps, next - deps - ext + 1 ); | 519 | dep = xstrndup ( deps, next - deps - ext + 1 ); |
529 | 520 | ||
530 | /* Add the new dependable module name */ | 521 | /* Add the new dependable module name */ |
531 | current-> m_depcnt++; | 522 | current-> m_depcnt++; |
@@ -562,7 +553,7 @@ static struct dep_t *build_dep ( void ) | |||
562 | /* Only 2.6 has a modules.alias file */ | 553 | /* Only 2.6 has a modules.alias file */ |
563 | if (ENABLE_FEATURE_2_6_MODULES) { | 554 | if (ENABLE_FEATURE_2_6_MODULES) { |
564 | /* Parse kernel-declared aliases */ | 555 | /* Parse kernel-declared aliases */ |
565 | filename = bb_xasprintf("/lib/modules/%s/modules.alias", un.release); | 556 | filename = xasprintf("/lib/modules/%s/modules.alias", un.release); |
566 | if ((fd = open ( filename, O_RDONLY )) < 0) { | 557 | if ((fd = open ( filename, O_RDONLY )) < 0) { |
567 | /* Ok, that didn't work. Fall back to looking in /lib/modules */ | 558 | /* Ok, that didn't work. Fall back to looking in /lib/modules */ |
568 | fd = open ( "/lib/modules/modules.alias", O_RDONLY ); | 559 | fd = open ( "/lib/modules/modules.alias", O_RDONLY ); |
@@ -687,7 +678,7 @@ static int mod_process ( struct mod_list_t *list, int do_insert ) | |||
687 | printf("%s module %s\n", do_insert?"Loading":"Unloading", list-> m_name ); | 678 | printf("%s module %s\n", do_insert?"Loading":"Unloading", list-> m_name ); |
688 | } | 679 | } |
689 | if (!show_only) { | 680 | if (!show_only) { |
690 | int rc2 = wait4pid(bb_spawn(argv)); | 681 | int rc2 = wait4pid(spawn(argv)); |
691 | 682 | ||
692 | if (do_insert) { | 683 | if (do_insert) { |
693 | rc = rc2; /* only last module matters */ | 684 | rc = rc2; /* only last module matters */ |
@@ -724,8 +715,8 @@ static int check_pattern( const char* pat_src, const char* mod_src ) { | |||
724 | char* mod; | 715 | char* mod; |
725 | char* p; | 716 | char* p; |
726 | 717 | ||
727 | pat = bb_xstrdup (pat_src); | 718 | pat = xstrdup (pat_src); |
728 | mod = bb_xstrdup (mod_src); | 719 | mod = xstrdup (mod_src); |
729 | 720 | ||
730 | for (p = pat; (p = strchr(p, '-')); *p++ = '_' ); | 721 | for (p = pat; (p = strchr(p, '-')); *p++ = '_' ); |
731 | for (p = mod; (p = strchr(p, '-')); *p++ = '_' ); | 722 | for (p = mod; (p = strchr(p, '-')); *p++ = '_' ); |