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
diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index 22005aa..17e5e88 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -24,7 +24,7 @@
/* mknod in /dev based on a path like "/sys/block/hda/hda1" */
static void make_device(char *path, int delete)
{
- char *device_name;
+ const char *device_name;
int major, minor, type, len;
int mode = 0660;
uid_t uid = 0;
@@ -46,7 +46,7 @@
/* Determine device name, type, major and minor */
- device_name = strrchr(path, '/') + 1;
+ device_name = bb_basename(path);
type = path[5]=='c' ? S_IFCHR : S_IFBLK;
/* If we have a config file, look up permissions for this device */