aboutsummaryrefslogtreecommitdiff
path: root/modutils/modprobe.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-06-30 08:04:05 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-06-30 08:04:05 +0000
commitdc757aa16ce53d9784fa3953b0c3762dfa8ccda9 (patch)
tree2eee7a83dcbd38fcfbcdbec8b5d52f4baff3326f /modutils/modprobe.c
parentf7d07b1723c15ee818f0c1f5cce96c55274024a6 (diff)
downloadbusybox-w32-dc757aa16ce53d9784fa3953b0c3762dfa8ccda9.tar.gz
busybox-w32-dc757aa16ce53d9784fa3953b0c3762dfa8ccda9.tar.bz2
busybox-w32-dc757aa16ce53d9784fa3953b0c3762dfa8ccda9.zip
introduce and use bb_basename()
function old new delta bb_basename - 26 +26 sv_main 1226 1225 -1 passwd_main 1985 1983 -2 showdirs 482 478 -4 sendCgi 1811 1807 -4 make_device 1354 1350 -4 handleIncoming 2443 2439 -4 func_name 82 78 -4 service_name 2292 2285 -7 main 909 901 -8 cmp_main 555 547 -8 test_main 434 422 -12 act 228 216 -12 find_pair 180 164 -16 rmmod_main 298 280 -18 find_pid_by_name 156 134 -22 modprobe_main 1606 1576 -30 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/16 up/down: 26/-156) Total: -130 bytes text data bss dec hex filename 734933 3028 14400 752361 b7ae9 busybox_old 734801 3028 14400 752229 b7a65 busybox_unstripped
Diffstat (limited to 'modutils/modprobe.c')
-rw-r--r--modutils/modprobe.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index dbed4ea0f..3861dd1e3 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -376,18 +376,13 @@ static struct dep_t *build_dep(void)
376 376
377 if (col) { 377 if (col) {
378 /* This line is a dep description */ 378 /* This line is a dep description */
379 char *mods; 379 const char *mods;
380 char *modpath; 380 char *modpath;
381 char *mod; 381 char *mod;
382 382
383 /* Find the beginning of the module file name */ 383 /* Find the beginning of the module file name */
384 *col = 0; 384 *col = 0;
385 mods = strrchr(buffer, '/'); 385 mods = bb_basename(buffer);
386
387 if (!mods)
388 mods = buffer; /* no path for this module */
389 else
390 mods++; /* there was a path for this module... */
391 386
392 /* find the path of the module */ 387 /* find the path of the module */
393 modpath = strchr(buffer, '/'); /* ... and this is the path */ 388 modpath = strchr(buffer, '/'); /* ... and this is the path */
@@ -433,7 +428,7 @@ static struct dep_t *build_dep(void)
433 /* p points to the first dependable module; if NULL, no dependable module */ 428 /* p points to the first dependable module; if NULL, no dependable module */
434 if (p && *p) { 429 if (p && *p) {
435 char *end = &buffer[l-1]; 430 char *end = &buffer[l-1];
436 char *deps; 431 const char *deps;
437 char *dep; 432 char *dep;
438 char *next; 433 char *next;
439 int ext = 0; 434 int ext = 0;
@@ -451,15 +446,11 @@ static struct dep_t *build_dep(void)
451 next = end; 446 next = end;
452 447
453 /* find the beginning of the module file name */ 448 /* find the beginning of the module file name */
454 deps = strrchr(p, '/'); 449 deps = bb_basename(p);
455 450 if (deps == p) {
456 if (!deps || (deps < p)) {
457 deps = p;
458
459 while (isblank(*deps)) 451 while (isblank(*deps))
460 deps++; 452 deps++;
461 } else 453 }
462 deps++;
463 454
464 /* find the end of the module name in the file name */ 455 /* find the end of the module name in the file name */
465 if (ENABLE_FEATURE_2_6_MODULES 456 if (ENABLE_FEATURE_2_6_MODULES