X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=libbb%2Fappletlib.c;h=0ebea4f4415817e92cd2af090fc5244f909e10d5;hb=04bb6b6a5af24f9a458132a5d002c54f901ae323;hp=48a8bb6f341e62a35e336265211b827a224e869c;hpb=b34759251d0140d9d4b7a8143b2ba217ce773523;p=oweals%2Fbusybox.git diff --git a/libbb/appletlib.c b/libbb/appletlib.c index 48a8bb6f3..0ebea4f44 100644 --- a/libbb/appletlib.c +++ b/libbb/appletlib.c @@ -28,6 +28,8 @@ */ #include +#include +#include /* PAGE_SIZE */ #include "busybox.h" @@ -116,7 +118,8 @@ void FAST_FUNC bb_show_usage(void) full_write2_str(p); full_write2_str("\n\n"); } - dealloc_usage_messages((char*)usage_string); + if (ENABLE_FEATURE_CLEAN_UP) + dealloc_usage_messages((char*)usage_string); #else const char *p; const char *usage_string = p = unpack_usage_messages(); @@ -129,7 +132,7 @@ void FAST_FUNC bb_show_usage(void) ap--; } full_write2_str(bb_banner); - full_write2_str(" multi-call binary\n"); + full_write2_str(" multi-call binary.\n"); if (*p == '\b') full_write2_str("\nNo help available.\n\n"); else { @@ -139,7 +142,8 @@ void FAST_FUNC bb_show_usage(void) full_write2_str(p); full_write2_str("\n\n"); } - dealloc_usage_messages((char*)usage_string); + if (ENABLE_FEATURE_CLEAN_UP) + dealloc_usage_messages((char*)usage_string); #endif } xfunc_die(); @@ -643,8 +647,9 @@ static int busybox_main(char **argv) } dup2(1, 2); - full_write2_str(bb_banner); /* reuse const string... */ - full_write2_str(" multi-call binary\n" + full_write2_str(bb_banner); /* reuse const string */ + full_write2_str(" multi-call binary.\n"); /* reuse */ + full_write2_str( "Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko\n" "and others. Licensed under GPLv2.\n" "See source distribution for full notice.\n" @@ -655,7 +660,7 @@ static int busybox_main(char **argv) "\tBusyBox is a multi-call binary that combines many common Unix\n" "\tutilities into a single executable. Most people will create a\n" "\tlink to busybox for each function they wish to use and BusyBox\n" - "\twill act like whatever it was invoked as!\n" + "\twill act like whatever it was invoked as.\n" "\n" "Currently defined functions:\n"); col = 0; @@ -760,6 +765,24 @@ int lbb_main(char **argv) int main(int argc UNUSED_PARAM, char **argv) #endif { + /* Tweak malloc for reduced memory consumption */ +#ifndef PAGE_SIZE +# define PAGE_SIZE (4*1024) /* guess */ +#endif +#ifdef M_TRIM_THRESHOLD + /* M_TRIM_THRESHOLD is the maximum amount of freed top-most memory + * to keep before releasing to the OS + * Default is way too big: 256k + */ + mallopt(M_TRIM_THRESHOLD, 2 * PAGE_SIZE); +#endif +#ifdef M_MMAP_THRESHOLD + /* M_MMAP_THRESHOLD is the request size threshold for using mmap() + * Default is too big: 256k + */ + mallopt(M_MMAP_THRESHOLD, 8 * PAGE_SIZE - 256); +#endif + #if defined(SINGLE_APPLET_MAIN) /* Only one applet is selected by the user! */ /* applet_names in this case is just "applet\0\0" */