t9c: Fix case patterns for DragonFly and other BSDs - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit 194178b5788a09379e01e8ff8bff391b8a8d5c18
parent e6ed10f25e4b2ea791d8e52253f7d806316420e9
Author: Martin Kühl 
Date:   Tue,  7 Jan 2020 23:27:39 +0100

9c: Fix case patterns for DragonFly and other BSDs

POSIX does not support grouping in case item patterns.
Installing with a strict POSIX shell fails with:

/usr/local/plan9/bin/9c: line 82: syntax error near unexpected token `('
/usr/local/plan9/bin/9c: line 82: `*(DragonFly|BSD)*gcc*)        usegcc ;;'

This change expands the patterns to work around the limitation.

See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10
(and search for case_clause)

Diffstat:
  M bin/9c                              |       4 ++--

1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/bin/9c b/bin/9c
t@@ -79,8 +79,8 @@ useclang()
 
 tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}"
 case "$tag" in
-*(DragonFly|BSD)*gcc*)        usegcc ;;
-*(DragonFly|BSD)*clang*)        useclang ;;
+*DragonFly*gcc*|*BSD*gcc*)        usegcc ;;
+*DragonFly*clang|*BSD*clang*)        useclang ;;
 *Darwin-x86_64*)
                 useclang
                 cflags="$ngflags -g3 -m64"