diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-08-05 15:42:29 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-08-05 18:11:15 +0200 |
commit | 19358cc31317dca4642417066c1445ce00438e18 (patch) | |
tree | 08b922ba5bbfe026432dc814341bc855892f90dd /shell/shell_common.h | |
parent | fd6f295a98956b7f495ba09a56528ef9e0d51398 (diff) | |
download | busybox-w32-19358cc31317dca4642417066c1445ce00438e18.tar.gz busybox-w32-19358cc31317dca4642417066c1445ce00438e18.tar.bz2 busybox-w32-19358cc31317dca4642417066c1445ce00438e18.zip |
ash,hush: fold shell_builtin_read() way-too-many params into a struct param
function old new delta
getoptscmd 587 584 -3
readcmd 240 224 -16
shell_builtin_read 1426 1399 -27
builtin_read 210 182 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-74) Total: -74 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/shell_common.h')
-rw-r--r-- | shell/shell_common.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/shell/shell_common.h b/shell/shell_common.h index 875fd9ea7..a1323021d 100644 --- a/shell/shell_common.h +++ b/shell/shell_common.h | |||
@@ -30,6 +30,17 @@ int FAST_FUNC is_well_formed_var_name(const char *s, char terminator); | |||
30 | 30 | ||
31 | /* Builtins */ | 31 | /* Builtins */ |
32 | 32 | ||
33 | struct builtin_read_params { | ||
34 | int read_flags; | ||
35 | void FAST_FUNC (*setvar)(const char *name, const char *val); | ||
36 | char **argv; | ||
37 | const char *ifs; | ||
38 | const char *opt_n; | ||
39 | const char *opt_p; | ||
40 | const char *opt_t; | ||
41 | const char *opt_u; | ||
42 | const char *opt_d; | ||
43 | }; | ||
33 | enum { | 44 | enum { |
34 | BUILTIN_READ_SILENT = 1 << 0, | 45 | BUILTIN_READ_SILENT = 1 << 0, |
35 | BUILTIN_READ_RAW = 1 << 1, | 46 | BUILTIN_READ_RAW = 1 << 1, |
@@ -40,16 +51,7 @@ enum { | |||
40 | // shell_builtin_read(setvar,argv,ifs,read_flags) | 51 | // shell_builtin_read(setvar,argv,ifs,read_flags) |
41 | //#endif | 52 | //#endif |
42 | const char* FAST_FUNC | 53 | const char* FAST_FUNC |
43 | shell_builtin_read(void FAST_FUNC (*setvar)(const char *name, const char *val), | 54 | shell_builtin_read(struct builtin_read_params *params); |
44 | char **argv, | ||
45 | const char *ifs, | ||
46 | int read_flags, | ||
47 | const char *opt_n, | ||
48 | const char *opt_p, | ||
49 | const char *opt_t, | ||
50 | const char *opt_u, | ||
51 | const char *opt_d | ||
52 | ); | ||
53 | 55 | ||
54 | int FAST_FUNC | 56 | int FAST_FUNC |
55 | shell_builtin_ulimit(char **argv); | 57 | shell_builtin_ulimit(char **argv); |