diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-11 02:15:49 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-11 02:15:49 +0200 |
commit | 8c66a9d07a771424e79a56698cdad7f4e4de89ac (patch) | |
tree | 17dcaf6c118495bc8be1ce3f6a8d6d10e86dbc39 | |
parent | e7670ff81d01d06f8f27ffb3b6e6d5e6f92c8f74 (diff) | |
download | busybox-w32-8c66a9d07a771424e79a56698cdad7f4e4de89ac.tar.gz busybox-w32-8c66a9d07a771424e79a56698cdad7f4e4de89ac.tar.bz2 busybox-w32-8c66a9d07a771424e79a56698cdad7f4e4de89ac.zip |
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 <vda.linux@googlemail.com>
-rw-r--r-- | shell/hush.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/shell/hush.c b/shell/hush.c index ef40e5a06..d105029ff 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -1318,8 +1318,11 @@ static const char *get_local_var_value(const char *name) | |||
1318 | return utoa(G.root_ppid); | 1318 | return utoa(G.root_ppid); |
1319 | // bash compat: UID? EUID? | 1319 | // bash compat: UID? EUID? |
1320 | #if ENABLE_HUSH_RANDOM_SUPPORT | 1320 | #if ENABLE_HUSH_RANDOM_SUPPORT |
1321 | if (strcmp(name, "RANDOM") == 0) | 1321 | if (strcmp(name, "RANDOM") == 0) { |
1322 | if (G.random_gen.galois_LFSR == 0) | ||
1323 | INIT_RANDOM_T(&G.random_gen, G.root_pid, monotonic_us()); | ||
1322 | return utoa(next_random(&G.random_gen)); | 1324 | return utoa(next_random(&G.random_gen)); |
1325 | } | ||
1323 | #endif | 1326 | #endif |
1324 | return NULL; | 1327 | return NULL; |
1325 | } | 1328 | } |
@@ -6605,9 +6608,6 @@ int hush_main(int argc, char **argv) | |||
6605 | if (!G.root_pid) { | 6608 | if (!G.root_pid) { |
6606 | G.root_pid = getpid(); | 6609 | G.root_pid = getpid(); |
6607 | G.root_ppid = getppid(); | 6610 | G.root_ppid = getppid(); |
6608 | #if ENABLE_HUSH_RANDOM_SUPPORT | ||
6609 | INIT_RANDOM_T(&G.random_gen, G.root_pid, monotonic_us()); | ||
6610 | #endif | ||
6611 | } | 6611 | } |
6612 | G.global_argv = argv + optind; | 6612 | G.global_argv = argv + optind; |
6613 | G.global_argc = argc - optind; | 6613 | G.global_argc = argc - optind; |
@@ -6696,9 +6696,6 @@ int hush_main(int argc, char **argv) | |||
6696 | G.root_pid = getpid(); | 6696 | G.root_pid = getpid(); |
6697 | G.root_ppid = getppid(); | 6697 | G.root_ppid = getppid(); |
6698 | } | 6698 | } |
6699 | #if ENABLE_HUSH_RANDOM_SUPPORT | ||
6700 | INIT_RANDOM_T(&G.random_gen, G.root_pid, monotonic_us()); | ||
6701 | #endif | ||
6702 | 6699 | ||
6703 | /* If we are login shell... */ | 6700 | /* If we are login shell... */ |
6704 | if (argv[0] && argv[0][0] == '-') { | 6701 | if (argv[0] && argv[0][0] == '-') { |