[PATCH] add-shell, remove-shell: new applets

Alexander Shishkin virtuoso at slind.org
Wed Oct 20 16:00:43 UTC 2010


On Wed, Oct 20, 2010 at 04:36:48 +0200, Denys Vlasenko wrote:
> 2010/10/20 Alexander Shishkin <virtuoso at slind.org>:
> > On Wed, Oct 20, 2010 at 01:26:24 +0200, Denys Vlasenko wrote:
> >> On Wed, Oct 20, 2010 at 2:56 AM, Alexander Shishkin <virtuoso at slind.org> wrote:
> >> > How about this? (I left locking in place but applied other changes)
> >> >
> >> > function                                             old     new   delta
> >> > add_shell_main                                         -     497    +497
> >> > .rodata                                           144696  144795     +99
> >> > packed_usage                                       27078   27114     +36
> >> > applet_names                                        2259    2282     +23
> >> > applet_main                                         2672    2688     +16
> >> > applet_nameofs                                       668     672      +4
> >> > applet_install_loc                                   167     168      +1
> >> > ------------------------------------------------------------------------------
> >> > (add/remove: 2/0 grow/shrink: 6/0 up/down: 676/0)             Total: 676 bytes
> >>
> >> 676 bytes is far too much for a simple pass over a text file.
> >>
> >> How about this?
> >>
> >> http://git.busybox.net/busybox/commit/?id=5be79ff27a5852567a9bdec80d67b061ad828290
> >
> > Well, the list version is more readable, imo.
> 
> It's twice as big.
> 
> > Also, splitting add and remove
> > into separate options seems quite pointless.
> 
> What if I want one-applet version of add-shell?
> (.config with only one enabled has optimizations
> which skip applet table search, and therefore
> there is no applet table in the first place. etc...)

If you want to add shells, you want to remove them as well. Where there is
addition, there is subtraction, I used to think.

> > And I'm totally missing the point
> > of using stdout, but I'm sure there must be a good reason.
> 
> How can you do O_EXCL open with fopen?

No problem with xopen(), but why xmovefd()?

Regards,
--
Alex


More information about the busybox mailing list