aboutsummaryrefslogtreecommitdiffstats
path: root/src/libexecline/el_semicolon_nostrict.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-03-09 19:03:37 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-03-09 19:03:37 +0000
commit6c756905574a019df52ad865a81cf97b6e2b6c58 (patch)
tree54bb9ff91422a6de7606c1a9be6c29e080d7d994 /src/libexecline/el_semicolon_nostrict.c
parent26fa9d9d3fef9684e9e4d5cd0bcd4336fee8d749 (diff)
downloadexecline-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.c14
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 ;
+}