From: Denys Vlasenko Date: Sun, 11 Oct 2009 00:15:49 +0000 (+0200) Subject: hush: shrink $RANDOM support X-Git-Tag: 1_16_0~398 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8c66a9d07a771424e79a56698cdad7f4e4de89ac;p=platform%2Fupstream%2Fbusybox.git hush: shrink $RANDOM support function old new delta get_local_var_value 104 125 +21 hush_main 1024 983 -41 Signed-off-by: Denys Vlasenko --- diff --git a/shell/hush.c b/shell/hush.c index ef40e5a..d105029 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -1318,8 +1318,11 @@ static const char *get_local_var_value(const char *name) return utoa(G.root_ppid); // bash compat: UID? EUID? #if ENABLE_HUSH_RANDOM_SUPPORT - if (strcmp(name, "RANDOM") == 0) + if (strcmp(name, "RANDOM") == 0) { + if (G.random_gen.galois_LFSR == 0) + INIT_RANDOM_T(&G.random_gen, G.root_pid, monotonic_us()); return utoa(next_random(&G.random_gen)); + } #endif return NULL; } @@ -6605,9 +6608,6 @@ int hush_main(int argc, char **argv) if (!G.root_pid) { G.root_pid = getpid(); G.root_ppid = getppid(); -#if ENABLE_HUSH_RANDOM_SUPPORT - INIT_RANDOM_T(&G.random_gen, G.root_pid, monotonic_us()); -#endif } G.global_argv = argv + optind; G.global_argc = argc - optind; @@ -6696,9 +6696,6 @@ int hush_main(int argc, char **argv) G.root_pid = getpid(); G.root_ppid = getppid(); } -#if ENABLE_HUSH_RANDOM_SUPPORT - INIT_RANDOM_T(&G.random_gen, G.root_pid, monotonic_us()); -#endif /* If we are login shell... */ if (argv[0] && argv[0][0] == '-') {