hush: implement -d DELIM option for 'read'
No binary (build failed)
—
(log yok)
| @@ -352,6 +352,7 @@ | |
| #define BASH_SOURCE ENABLE_HUSH_BASH_COMPAT | |
| #define BASH_HOSTNAME_VAR ENABLE_HUSH_BASH_COMPAT | |
| #define BASH_TEST2 (ENABLE_HUSH_BASH_COMPAT && ENABLE_HUSH_TEST) | |
| + | #define BASH_READ_D ENABLE_HUSH_BASH_COMPAT |
| /* Build knobs */ | |
| @@ -9434,13 +9435,20 @@ static int FAST_FUNC builtin_read(char **argv) | |
| char *opt_p = NULL; | |
| char *opt_t = NULL; | |
| char *opt_u = NULL; | |
| + | char *opt_d = NULL; /* optimized out if !BASH */ |
| const char *ifs; | |
| int read_flags; | |
| /* "!": do not abort on errors. | |
| * Option string must start with "sr" to match BUILTIN_READ_xxx | |
| */ | |
| - | read_flags = getopt32(argv, "!srn:p:t:u:", &opt_n, &opt_p, &opt_t, &opt_u); |
| + | read_flags = getopt32(argv, |
| + | #if BASH_READ_D |
| + | "!srn:p:t:u:d:", &opt_n, &opt_p, &opt_t, &opt_u, &opt_d |
| + | #else |
| + | "!srn:p:t:u:", &opt_n, &opt_p, &opt_t, &opt_u |
| + | #endif |
| + | ); |
| if (read_flags == (uint32_t)-1) | |
| return EXIT_FAILURE; | |
| argv += optind; | |
| @@ -9454,7 +9462,8 @@ static int FAST_FUNC builtin_read(char **argv) | |
| opt_n, | |
| opt_p, | |
| opt_t, | |
| - | opt_u |
| + | opt_u, |
| + | opt_d |
| ); | |
| if ((uintptr_t)r == 1 && errno == EINTR) { | |