hush: use ash's read builtin

function                                             old     new   delta
shell_builtin_read                                     -    1000   +1000
set_local_var_from_halves                              -      24     +24
setvar2                                                -       7      +7
...
popstring                                            140     134      -6
ash_main                                            1375    1368      -7
setvar                                               184     174     -10
arith_set_local_var                                   36       -     -36
builtin_read                                        1096     185    -911
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 5/23 up/down: 1038/-1007)        Total: 31 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2010-01-12 23:29:57 +01:00
parent 045f4ad92c
commit 03dad22f8a
18 changed files with 124 additions and 49 deletions

View File

@ -87,12 +87,13 @@ typedef long arith_t;
#define strto_arith_t strtoul
#endif
typedef const char *(*arith_var_lookup_t)(const char *name);
typedef void (*arith_var_set_t)(const char *name, const char *val, int flags);
typedef char *(*arith_var_endofname_t)(const char *name);
typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name);
typedef void FAST_FUNC (*arith_var_set_t)(const char *name, const char *val);
typedef char* FAST_FUNC (*arith_var_endofname_t)(const char *name);
typedef struct arith_eval_hooks {
arith_var_lookup_t lookupvar;
arith_var_set_t setvar;
arith_var_lookup_t lookupvar;
arith_var_set_t setvar;
arith_var_endofname_t endofname;
} arith_eval_hooks_t;