diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-03-09 19:03:37 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-03-09 19:03:37 +0000 |
| commit | 6c756905574a019df52ad865a81cf97b6e2b6c58 (patch) | |
| tree | 54bb9ff91422a6de7606c1a9be6c29e080d7d994 /src/libexecline/el_semicolon_nostrict.c | |
| parent | 26fa9d9d3fef9684e9e4d5cd0bcd4336fee8d749 (diff) | |
| download | execline-6c756905574a019df52ad865a81cf97b6e2b6c58.tar.gz | |
Fix wait command interaction with EXECLINE_STRICT
el_semicolon() hardcodes failure on EXECLINE_STRICT=2, but we
want to accept a no-block interface for wait, so write a separate
el_semicolon_nostrict() function and use it in wait.
Also use gol in wait, and prepare deprecation of quote chars
other than space and null (we can hardcode this np)
Diffstat (limited to 'src/libexecline/el_semicolon_nostrict.c')
| -rw-r--r-- | src/libexecline/el_semicolon_nostrict.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libexecline/el_semicolon_nostrict.c b/src/libexecline/el_semicolon_nostrict.c new file mode 100644 index 0000000..8fb770c --- /dev/null +++ b/src/libexecline/el_semicolon_nostrict.c @@ -0,0 +1,14 @@ +/* ISC license. */ + +#include <execline/execline.h> + +unsigned int el_semicolon_nostrict (char const **argv) +{ + unsigned int i = 0 ; + for (; argv[i] ; i++) + { + if (!argv[i][0]) return i ; + else if (argv[i][0] == ' ') argv[i]++ ; + } + return i + 1 ; +} |
